diff options
author | Thomas Preud'homme <robotux@debian.org> | 2018-03-01 22:42:01 +0000 |
---|---|---|
committer | Thomas Preud'homme <robotux@debian.org> | 2018-03-01 22:42:01 +0000 |
commit | 3958fa914c8a524ed4b6a5b035b794e12708fa1d (patch) | |
tree | 417868397f3c2c7386773f55096a9aa5f8856990 /plugins/Themes/Oxygen |
Import ultracopier_1.4.0.4.orig.tar.xz
[dgit import orig ultracopier_1.4.0.4.orig.tar.xz]
Diffstat (limited to 'plugins/Themes/Oxygen')
65 files changed, 11564 insertions, 0 deletions
diff --git a/plugins/Themes/Oxygen/DebugEngineMacro.h b/plugins/Themes/Oxygen/DebugEngineMacro.h new file mode 100644 index 0000000..4582010 --- /dev/null +++ b/plugins/Themes/Oxygen/DebugEngineMacro.h @@ -0,0 +1,28 @@ +/** \file DebugEngineMacro.h +\brief Define the macro for the debug +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#ifndef DEBUGENGINEMACRO_H +#define DEBUGENGINEMACRO_H + +#ifdef WIN32 +# define __func__ __FUNCTION__ +#endif + +/// \brief Macro for the debug log +#ifdef ULTRACOPIER_PLUGIN_DEBUG + #if defined (__FILE__) && defined (__LINE__) + #define ULTRACOPIER_DEBUGCONSOLE(a,b) emit debugInformation(a,__func__,b,__FILE__,__LINE__) + #else + #define ULTRACOPIER_DEBUGCONSOLE(a,b) emit debugInformation(a,__func__,b) + #endif +#else // ULTRACOPIER_DEBUG + #define ULTRACOPIER_DEBUGCONSOLE(a,b) void() +#endif // ULTRACOPIER_DEBUG + +#endif // DEBUGENGINEMACRO_H + + + + diff --git a/plugins/Themes/Oxygen/Environment.h b/plugins/Themes/Oxygen/Environment.h new file mode 100644 index 0000000..265a5a6 --- /dev/null +++ b/plugins/Themes/Oxygen/Environment.h @@ -0,0 +1,10 @@ +/** \file Environment.h
+\brief Define the environment variable and global function
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include "Variable.h"
+/// \brief The global include
+#include "StructEnumDefinition.h"
+#include "DebugEngineMacro.h"
+
diff --git a/plugins/Themes/Oxygen/Languages/ar/translation.ts b/plugins/Themes/Oxygen/Languages/ar/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/ar/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/de/translation.ts b/plugins/Themes/Oxygen/Languages/de/translation.ts new file mode 100644 index 0000000..8f51f95 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/de/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="de" sourcelanguage="en"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Kaufe die Ultimate Version um die Entwicklung zu finanzieren</translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Datei %1/%2, Größe:%3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation>Zu kopierende Dateien</translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation>Zu verschiebende Dateien</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation>Nicht schließen, wenn Fehler aufgetreten sind</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation>Niemals schließen</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation>Immer schließen</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation>Dateiname, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation>Farbe auswählen</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation>Nicht schließen, wenn Fehler aufgetreten sind</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation>Niemals schließen</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation>Immer schließen</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation>Wählen Sie eine Farbe</translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation>Von:</translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation>Nach:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation>&Mehr</translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation>&Pause</translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation>Über&springen</translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation>Abbrechen (&C)</translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation>Dateiliste</translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation>Ausgewählte Einträge löschen</translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation>Dateiliste exportieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation>Dateiliste importieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation>Vorherige</translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation>Nächste</translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation>Darstellungsoptionen</translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation>Ausgewählte Einträge an den Listenanfang verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation>Am Ende des Transfers schließen</translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation>Begrenze Kopiergeschwindigkeit auf:</translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation>Ausgewählte Einträge einen Platz nach oben verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation>Ausgewählte Einträge einen Platz nach unten verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation>Ausgewählte Einträge an das Listenende verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation>Datei/Ordner hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation>In Dateiliste suchen</translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation>Fehlerprotokoll</translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation>Fehlgeschlagene Dateien exportieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation>Quelle</translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation>Ziel</translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation>Datei hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation>Ordner hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation>Datei(en) verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation>Ordner verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation>Datei(en) kopieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation>Verzeichnis kopieren</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation>Zweifachen Fortschritt anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation>Geschwindigkeitsbegrenzungsschieberegler anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation>Benutzung</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation>Standardmäßig "Mehr" Informationen anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation>Beim Schließen ins Systray minimieren</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation>Am Ende des Vorgangs</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation>Begrenze Übertragungsgeschwindigkeit auf</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation>Zum Bearbeiten der Farbe klicken</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation>Informationen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation>Anzeige</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation>Geschwindigkeit als Fortschrittsbalken anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation>Farbe des Fortschrittsbalken</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation>Fortschritt im Fenstertitel zeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation>Fenster immer im Vordergrund</translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/el/translation.ts b/plugins/Themes/Oxygen/Languages/el/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/el/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/en/translation.ts b/plugins/Themes/Oxygen/Languages/en/translation.ts new file mode 100644 index 0000000..73e399d --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/en/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="en"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/es/translation.ts b/plugins/Themes/Oxygen/Languages/es/translation.ts new file mode 100644 index 0000000..fff5a9c --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/es/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="es" sourcelanguage="en"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Comprar la versión Ultimate para financiar el desarrollo</translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation>El archivo %1/%2, el tamaño: %3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation>Lista de copia</translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation>Lista de movimiento</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation>No cierre si se encuentran errores</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation>Nunca cierre</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation>Siempre cerrar</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation>Nombre de archivo, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation>Seleccione un color</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation>No cierre si se encuentran errores</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation>Nunca cierre</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation>Siempre cerrar</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation>Seleccione un color</translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation>De:</translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation>Para:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation>&Más</translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation>&Pausa</translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation>&Omitir</translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation>&Cancelar</translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation>Cerca de finalización de transferencia</translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation>Limitar la velocidad de copia en:</translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation>Lista de transferencia</translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation>Mueve los elementos seleccionados a la parte superior</translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation>Mueva los elementos seleccionados</translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation>Bajar los elementos seleccionados</translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation>Mueve los elementos seleccionados a la parte inferior</translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation>Agregar archivo/carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation>Eliminar los elementos seleccionados</translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation>Buscar</translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation>Exportar la lista de transferencias</translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation>Importe la lista de transferencias</translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation>Anterior</translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation>Próximo</translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation>Error</translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation>Exportar los errores en la lista de transferencias</translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation>Fuente</translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation>Destino</translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation>Interfaz</translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation>Añadir archivo</translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation>Añadir carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation>Mover archivo(s)</translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation>Mueva la carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation>Copia el archivo(s)</translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation>Copia la carpeta</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation>Mostrar progresión dual</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation>Mostrar la velocidad como principales informaciones</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation>Uso</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation>Comience con el "botón más" empujada</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation>Minimizar en cerca de la bandeja del sistema</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation>Al final de la copia</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation>Limitar la velocidad de copia de</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation>Haga clic para editar el color</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation>Informations</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation>Visualización</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation>Velocidad con barra de progreso</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation>Progresión de color</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation>Mostrar progresión en el título</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation>Siempre visible</translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/fr/translation.ts b/plugins/Themes/Oxygen/Languages/fr/translation.ts new file mode 100644 index 0000000..c3aa909 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/fr/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="fr" sourcelanguage="en"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="+298"/> + <location line="+15"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-12"/> + <location line="+15"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Achetez la version Ultimate pour financer le développement</translation> + </message> + <message> + <location line="+85"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Fichier %1/%2, taille: %3/%4</translation> + </message> + <message> + <location line="+234"/> + <source>Copy list</source> + <translation>Liste de copies</translation> + </message> + <message> + <location line="+2"/> + <source>Move list</source> + <translation>Liste de déplacements</translation> + </message> + <message> + <location line="+421"/> + <source>Don't close if errors are found</source> + <translation>Garder ouvert s'il y a des erreurs</translation> + </message> + <message> + <location line="+1"/> + <source>Never close</source> + <translation>Ne jamais fermer</translation> + </message> + <message> + <location line="+1"/> + <source>Always close</source> + <translation>Toujours fermer</translation> + </message> + <message> + <location line="+2"/> + <source>File Name, 0KB</source> + <translation>Nom de fichier, 0Ko</translation> + </message> + <message> + <location line="+187"/> + <location line="+12"/> + <location line="+12"/> + <source>Select a color</source> + <translation>Selectionner une coleur</translation> + </message> + <message> + <location line="+75"/> + <location line="+4"/> + <location line="+2"/> + <source>%1 %2% of %3</source> + <translation>%1 de %2% de %3</translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="+228"/> + <source>Don't close if errors are found</source> + <translation>Garder ouvert s'il y a des erreurs</translation> + </message> + <message> + <location line="+1"/> + <source>Never close</source> + <translation>Ne jamais fermer</translation> + </message> + <message> + <location line="+1"/> + <source>Always close</source> + <translation>Toujours fermer</translation> + </message> + <message> + <location line="+196"/> + <location line="+15"/> + <location line="+15"/> + <source>Select a color</source> + <translation>Selectionner une coleur</translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="+35"/> + <source>From:</source> + <translation>Depuis:</translation> + </message> + <message> + <location line="+30"/> + <source>To:</source> + <translation>Vers:</translation> + </message> + <message> + <location line="+161"/> + <source>&More</source> + <translation>Pl&us</translation> + </message> + <message> + <location line="+20"/> + <source>&Pause</source> + <translation>&Pause</translation> + </message> + <message> + <location line="+14"/> + <source>&Skip</source> + <translation>&Passer</translation> + </message> + <message> + <location line="+11"/> + <source>&Cancel</source> + <translation>&Annuler</translation> + </message> + <message> + <location line="-153"/> + <source>Close on transfer completion</source> + <translation>Fermer à la fin des transferts</translation> + </message> + <message> + <location line="+168"/> + <source>Limit copy speed to:</source> + <translation>Limiter la vitesse de copie à:</translation> + </message> + <message> + <location line="+43"/> + <source>Transfer list</source> + <translation>Liste de transferts</translation> + </message> + <message> + <location line="+23"/> + <source>Move the selected items to the top</source> + <translation>Déplacer l'item selectionné au debut</translation> + </message> + <message> + <location line="+26"/> + <source>Move up the selected items</source> + <translation>Déplacer l'item selectionné vers le haut</translation> + </message> + <message> + <location line="+26"/> + <source>Move down the selected items</source> + <translation>Déplacer l'item selectionné vers le bas</translation> + </message> + <message> + <location line="+26"/> + <source>Move the selected items to the bottom</source> + <translation>Déplacer l'item selectionné à la fin</translation> + </message> + <message> + <location line="+26"/> + <source>Add file/folder</source> + <translation>Ajouter fichier/dossier</translation> + </message> + <message> + <location line="+29"/> + <source>Delete the selected items</source> + <translation>Supprimer les items sélectionnés</translation> + </message> + <message> + <location line="+26"/> + <source>Search</source> + <translation>Rechercher</translation> + </message> + <message> + <location line="+29"/> + <source>Export the transfer list</source> + <translation>Exporter la liste de transfert</translation> + </message> + <message> + <location line="+26"/> + <source>Import the transfer list</source> + <translation>Importer la liste de transfert</translation> + </message> + <message> + <location line="+55"/> + <source>Previous</source> + <translation>Précédent</translation> + </message> + <message> + <location line="+7"/> + <source>Next</source> + <translation>Suivant</translation> + </message> + <message> + <location line="+35"/> + <location line="+69"/> + <source>Error</source> + <translation>Erreur</translation> + </message> + <message> + <location line="-49"/> + <source>Export the errors into transfer list</source> + <translation>Exporter les erreurs dans une liste de transfert</translation> + </message> + <message> + <location line="+39"/> + <source>Source</source> + <translation>Source</translation> + </message> + <message> + <location line="+5"/> + <source>Destination</source> + <translation>Destination</translation> + </message> + <message> + <location line="+14"/> + <source>Interface</source> + <translation>Interface</translation> + </message> + <message> + <location line="+37"/> + <source>Add file</source> + <translation>Ajouter un fichier</translation> + </message> + <message> + <location line="+9"/> + <source>Add folder</source> + <translation>Ajouter un répertoire</translation> + </message> + <message> + <location line="+9"/> + <source>Move file(s)</source> + <translation>Déplacer le(s) fichier(s)</translation> + </message> + <message> + <location line="+9"/> + <source>Move folder</source> + <translation>Déplacer un répertoire</translation> + </message> + <message> + <location line="+9"/> + <source>Copy file(s)</source> + <translation>Copier le(s) fichier(s)</translation> + </message> + <message> + <location line="+9"/> + <source>Copy folder</source> + <translation>Copier un répertoire</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="+253"/> + <source>Show dual progression</source> + <translation>Afficher une double progression</translation> + </message> + <message> + <location line="-48"/> + <source>Show speed as main information</source> + <translation>Afficher la vitesse comme information principale</translation> + </message> + <message> + <location line="-161"/> + <source>Use</source> + <translation>Utilisation</translation> + </message> + <message> + <location line="+6"/> + <source>Start with the "more button" pushed</source> + <translation>Déplier automatiquement les détails</translation> + </message> + <message> + <location line="+17"/> + <source>Minimize on close to systray</source> + <translation>Minimiser à la fermeture dans le systray</translation> + </message> + <message> + <location line="+29"/> + <source>At the end of the copy</source> + <translation>À la fin de la copie</translation> + </message> + <message> + <location line="+7"/> + <location line="+34"/> + <source>Limit copy speed to</source> + <translation>Limiter la vitesse de copie à</translation> + </message> + <message> + <location line="+39"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+116"/> + <source>Click to edit the color</source> + <translation>Cliquer pour éditer la couleur</translation> + </message> + <message> + <location line="-145"/> + <source> KB/s</source> + <translation> Ko/s</translation> + </message> + <message> + <location line="+52"/> + <source>Informations</source> + <translation>Informations</translation> + </message> + <message> + <location line="+38"/> + <source>Display</source> + <translation>Affichage</translation> + </message> + <message> + <location line="+6"/> + <source>Speed with progress bar</source> + <translation>Vitesse avec barre de progression</translation> + </message> + <message> + <location line="+30"/> + <source>Progression color</source> + <translation>Couleur de progression</translation> + </message> + <message> + <location line="-10"/> + <source>Show progression in the title</source> + <translation>Afficher la progression dans le titre</translation> + </message> + <message> + <location line="-203"/> + <source>Always on top</source> + <translation>Toujours au 1er plan</translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/hi/translation.ts b/plugins/Themes/Oxygen/Languages/hi/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/hi/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/hu/translation.ts b/plugins/Themes/Oxygen/Languages/hu/translation.ts new file mode 100644 index 0000000..409e6ea --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/hu/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="hu"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Vásárold meg az Ultimate verziót a fejlesztés támogatásához</translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Fájl %1/%2, méret: %3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation>Lista másolása</translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation>Lista mozgatása</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation>Ne zárja be, ha hiba történik</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation>Sose zárja be</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation>Mindig zárja be</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation>Fájlnév, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation>Válassz egy színt</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation>Ne zárja be, ha hiba történik</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation>Sose zárja be</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation>Mindig zárja be</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation>Válassz egy színt</translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation>Forrás:</translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation>Cél:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation>&Több</translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation>&Szünet</translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation>&Kihagy</translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation>&Mégse</translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation>Átviteli lista</translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation>Előző</translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation>Következő</translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation>Kezelőfelület</translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation>Kijelölések elemek mozgatása legfelülre</translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation>Átvitel végeztével zárja be</translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation>Másolási sebesség korlátozása:</translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation>Kijelölt elemek mozgatása fel</translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation>Kijelölt elemek mozgatása le</translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation>Kijelölések elemek mozgatása legalulra</translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation>Fájl/mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation>Kijelölt elemek törlése</translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation>Keresés</translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation>Átviteli lista exportálása</translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation>Átviteli lista importálása</translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation>Hiba</translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation>Hibák exportálása az átviteli listába</translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation>Forrás</translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation>Cél</translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation>Fájl hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation>Mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation>Fájl(ok) mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation>Mappa mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation>Fájl(ok) másolása</translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation>Mappa másolása</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation>Páros folyamat mutatása</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation>Sebesség mutatása, mint fő információ</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation>Használ</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation>Indítás a "több gomb" lenyomásával</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation>Bezáráskor minimalizálás a tálcára</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation>A másolás befejezésekor</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation>Másolási sebesség korlátozása</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation>Kattints a szín szerkesztéséhez</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation>Információk</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation>Megjelenítés</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation>Sebesség folyamatsávval</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation>Folyamat színe</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation>Folyamat mutatása a címsorban</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation>Mindig legfelül</translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/id/translation.ts b/plugins/Themes/Oxygen/Languages/id/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/id/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/it/translation.ts b/plugins/Themes/Oxygen/Languages/it/translation.ts new file mode 100644 index 0000000..c813017 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/it/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="it" sourcelanguage="en"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Acquista la versione Ultimate per finanziare lo sviluppo del programma</translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation>File %1/%2, dimensione: %3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation>Lista della copia</translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation>Lista dello spostamento</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation>Non chiudere se vengono rilevati errori</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation>Non chiudere mai</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation>Chiudere sempre</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation>Nome del file, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation>Scegliere un colore</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation>%1 %2% di %3</translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation>Non chiudere se vengono rilevati errori</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation>Non chiudere mai</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation>Chiudere sempre</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation>Scegliere un colore</translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation>Da:</translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation>a:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation>Altr&o</translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation>&Pausa</translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation>&Salta</translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation>&Annulla</translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation>Arresta il sistema a trasferimento comletato</translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation>Limitare la velocità di copia a:</translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation>Lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation>Sposta in cima gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation>Sposta sopra gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation>Sposta sotto gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation>Sposta in coda gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation>Aggiungi file/cartelle</translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation>Elimina gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation>Cerca</translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation>Esporta la lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation>Importa la lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation>Precedente</translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation>Successivo</translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation>Errore</translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation>Esporta gli errori nella lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation>Cartella di origine</translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation>Cartella di destinazione</translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation>Interfaccia</translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation>Aggiungi file</translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation>Aggiungi cartella</translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation>Sposta file</translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation>Sposta la cartella</translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation>Copia file</translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation>Copia la cartella</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation>Mostrare la doppia progressione</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation>Mostrare la velocità come principale informazione</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation>Utilità</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation>Iniziare col pulsante "Altro" attivo</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation>Alla chiusura riduci nella'area di notifica</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation>Al termine della copia</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation>Limitare la velocità di copia a</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation>Clicca per modificare il colore</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation>Informazioni</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation>Visualizza</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation>Velocità nella barra di progresso</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation>Colore della progressione</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation>Mostrare la percentuale di progresso sul titolo</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation>Sempre in primo piano</translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/ja/translation.ts b/plugins/Themes/Oxygen/Languages/ja/translation.ts new file mode 100644 index 0000000..2099b73 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/ja/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/ko/translation.ts b/plugins/Themes/Oxygen/Languages/ko/translation.ts new file mode 100644 index 0000000..c446d72 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/ko/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="ko_KR"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="+298"/> + <location line="+15"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-12"/> + <location line="+15"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+2"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+85"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished">파일 %1/%2, 크기: %3/%4</translation> + </message> + <message> + <location line="+234"/> + <source>Copy list</source> + <translation type="unfinished">복사 목록</translation> + </message> + <message> + <location line="+2"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+421"/> + <source>Don't close if errors are found</source> + <translation type="unfinished">오류 발견시 종료 안함</translation> + </message> + <message> + <location line="+1"/> + <source>Never close</source> + <translation type="unfinished">절대 종료 안함</translation> + </message> + <message> + <location line="+1"/> + <source>Always close</source> + <translation type="unfinished">항상 종료</translation> + </message> + <message> + <location line="+2"/> + <source>File Name, 0KB</source> + <translation type="unfinished">파일명, 0KB</translation> + </message> + <message> + <location line="+187"/> + <location line="+12"/> + <location line="+12"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+75"/> + <location line="+4"/> + <location line="+2"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="+228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished">오류 발견시 종료 안함</translation> + </message> + <message> + <location line="+1"/> + <source>Never close</source> + <translation type="unfinished">절대 종료 안함</translation> + </message> + <message> + <location line="+1"/> + <source>Always close</source> + <translation type="unfinished">항상 종료</translation> + </message> + <message> + <location line="+196"/> + <location line="+15"/> + <location line="+15"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="+35"/> + <source>From:</source> + <translation type="unfinished">원본:</translation> + </message> + <message> + <location line="+30"/> + <source>To:</source> + <translation type="unfinished">대상:</translation> + </message> + <message> + <location line="+161"/> + <source>&More</source> + <translation type="unfinished">&자세히</translation> + </message> + <message> + <location line="+20"/> + <source>&Pause</source> + <translation type="unfinished">&일시 정지</translation> + </message> + <message> + <location line="+14"/> + <source>&Skip</source> + <translation type="unfinished">&건너뛰기</translation> + </message> + <message> + <location line="+11"/> + <source>&Cancel</source> + <translation type="unfinished">&취소</translation> + </message> + <message> + <location line="+58"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+156"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+55"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+55"/> + <source>Previous</source> + <translation type="unfinished">이전</translation> + </message> + <message> + <location line="+7"/> + <source>Next</source> + <translation type="unfinished">다음</translation> + </message> + <message> + <location line="+113"/> + <source>Interface</source> + <translation type="unfinished">인터페이스</translation> + </message> + <message> + <location line="-389"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-234"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+168"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+92"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+55"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+152"/> + <location line="+69"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-49"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+39"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+5"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+51"/> + <source>Add file</source> + <translation type="unfinished">파일 추가</translation> + </message> + <message> + <location line="+9"/> + <source>Add folder</source> + <translation type="unfinished">폴더 추가</translation> + </message> + <message> + <location line="+9"/> + <source>Move file(s)</source> + <translation type="unfinished">파일 이동</translation> + </message> + <message> + <location line="+9"/> + <source>Move folder</source> + <translation type="unfinished">폴더 이동</translation> + </message> + <message> + <location line="+9"/> + <source>Copy file(s)</source> + <translation type="unfinished">파일 복사</translation> + </message> + <message> + <location line="+9"/> + <source>Copy folder</source> + <translation type="unfinished">폴더 복사</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="+253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-48"/> + <source>Show speed as main information</source> + <translation type="unfinished">메인 정보에 속도 표시</translation> + </message> + <message> + <location line="-161"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+17"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+29"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+7"/> + <location line="+34"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+39"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+116"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-145"/> + <source> KB/s</source> + <translation type="unfinished"> KB/초</translation> + </message> + <message> + <location line="+52"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+38"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+6"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+30"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-10"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-203"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/nl/translation.ts b/plugins/Themes/Oxygen/Languages/nl/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/nl/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/no/translation.ts b/plugins/Themes/Oxygen/Languages/no/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/no/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/pl/translation.ts b/plugins/Themes/Oxygen/Languages/pl/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/pl/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/pt/translation.ts b/plugins/Themes/Oxygen/Languages/pt/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/pt/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/ru/translation.ts b/plugins/Themes/Oxygen/Languages/ru/translation.ts new file mode 100644 index 0000000..1ef7093 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/ru/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="ru" sourcelanguage="en"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Файл %1/%2, размер: %3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished">Копировать список</translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished">Не закрывать, если найдены ошибки</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished">Никогда не закрывать</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished">Всегда закрывайте</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation>Имя файла, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished">Не закрывать, если найдены ошибки</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished">Никогда не закрывать</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished">Всегда закрывайте</translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation>С:</translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation>к:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation>больше</translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation>пауза</translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation>пропускать</translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation>отменить</translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation>предыдущий</translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation>следующий</translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation>интерфейс</translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation>Добавить файл</translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation>Добавить папку</translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation>Перемещение файла(ов)</translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation>Перемещение папки</translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation>Копировать файл (ы)</translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation>Копировать папку</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished">Показать скорости в качестве основной информации</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"> Кб/с</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/th/translation.ts b/plugins/Themes/Oxygen/Languages/th/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/th/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/tr/translation.ts b/plugins/Themes/Oxygen/Languages/tr/translation.ts new file mode 100644 index 0000000..c7b2fdd --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/tr/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/Languages/zh/translation.ts b/plugins/Themes/Oxygen/Languages/zh/translation.ts new file mode 100644 index 0000000..2099b73 --- /dev/null +++ b/plugins/Themes/Oxygen/Languages/zh/translation.ts @@ -0,0 +1,341 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="298"/> + <location filename="../../interface.cpp" line="313"/> + <source>%1 is deprecated, Use %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="301"/> + <location filename="../../interface.cpp" line="316"/> + <source>This will be the last version for Mac, but you can compile from source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="318"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="637"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="639"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1060"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1061"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1062"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1064"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1251"/> + <location filename="../../interface.cpp" line="1263"/> + <location filename="../../interface.cpp" line="1275"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1350"/> + <location filename="../../interface.cpp" line="1354"/> + <location filename="../../interface.cpp" line="1356"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../ThemesFactory.cpp" line="228"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="229"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="230"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../ThemesFactory.cpp" line="426"/> + <location filename="../../ThemesFactory.cpp" line="441"/> + <location filename="../../ThemesFactory.cpp" line="456"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="35"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="65"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="246"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="260"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="271"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="329"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="485"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="540"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="566"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="621"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="628"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="741"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="352"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="118"/> + <source>Close on transfer completion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="286"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="378"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="404"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="430"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="456"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="511"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="663"/> + <location filename="../../interface.ui" line="732"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="683"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="722"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="727"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="778"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="787"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="796"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="805"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="814"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="823"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="253"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="205"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="44"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="50"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="67"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="96"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="103"/> + <location filename="../../themesOptions.ui" line="137"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="147"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="176"/> + <source>Start minimized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="199"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="237"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="243"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="273"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="292"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="263"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="60"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins/Themes/Oxygen/StructEnumDefinition.h b/plugins/Themes/Oxygen/StructEnumDefinition.h new file mode 100644 index 0000000..c1758f4 --- /dev/null +++ b/plugins/Themes/Oxygen/StructEnumDefinition.h @@ -0,0 +1 @@ +#include "../../../StructEnumDefinition.h" diff --git a/plugins/Themes/Oxygen/ThemesFactory.cpp b/plugins/Themes/Oxygen/ThemesFactory.cpp new file mode 100644 index 0000000..28961f0 --- /dev/null +++ b/plugins/Themes/Oxygen/ThemesFactory.cpp @@ -0,0 +1,481 @@ +/** \file factory.cpp +\brief Define the factory core +\author alpha_one_x86 */ + +#include <QColorDialog> + +#include "ThemesFactory.h" +#include "../../../cpp11addition.h" + +ThemesFactory::ThemesFactory() +{ + optionsEngine=NULL; + tempWidget=new QWidget(); + ui=new Ui::themesOptions(); + ui->setupUi(tempWidget); + ui->toolBox->setCurrentIndex(0); + currentSpeed = 0; + updateSpeed(); + + qRegisterMetaType<QList<QPersistentModelIndex> >("QList<QPersistentModelIndex>"); +} + +ThemesFactory::~ThemesFactory() +{ +} + +PluginInterface_Themes * ThemesFactory::getInstance() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, currentSpeed: "+std::to_string(currentSpeed)); + + Themes * newInterface=new Themes( + ui->alwaysOnTop->isChecked(), + ui->showProgressionInTheTitle->isChecked(), + progressColorWrite,progressColorRead,progressColorRemaining, + ui->showDualProgression->isChecked(), + ui->comboBox_copyEnd->currentIndex(), + ui->speedWithProgressBar->isChecked(), + currentSpeed, + ui->checkBoxShowSpeed->isChecked(), + facilityEngine, + ui->checkBoxStartWithMoreButtonPushed->isChecked(), + ui->minimizeToSystray->isChecked(), + ui->startMinimized->isChecked() + ); + #ifdef ULTRACOPIER_PLUGIN_DEBUG + connect(newInterface,&Themes::debugInformation,this,&PluginInterface_ThemesFactory::debugInformation); + #endif + connect(this,&ThemesFactory::reloadLanguage,newInterface,&Themes::newLanguageLoaded); + return newInterface; +} + +void ThemesFactory::setResources(OptionInterface * optionsEngine,const std::string & + #ifdef ULTRACOPIER_PLUGIN_DEBUG + writePath + #endif + ,const std::string & + #ifdef ULTRACOPIER_PLUGIN_DEBUG + pluginPath + #endif + ,FacilityInterface * facilityEngine,const bool & + ) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, writePath: "+writePath+", pluginPath: "+pluginPath); + this->facilityEngine=facilityEngine; + if(optionsEngine!=NULL) + { + this->optionsEngine=optionsEngine; + //load the options + std::vector<std::pair<std::string, std::string> > KeysList; + KeysList.push_back(std::pair<std::string, std::string>("checkBoxShowSpeed","false")); + KeysList.push_back(std::pair<std::string, std::string>("moreButtonPushed","false")); + KeysList.push_back(std::pair<std::string, std::string>("speedWithProgressBar","true")); + KeysList.push_back(std::pair<std::string, std::string>("currentSpeed","0")); + KeysList.push_back(std::pair<std::string, std::string>("comboBox_copyEnd","0")); + KeysList.push_back(std::pair<std::string, std::string>("showDualProgression","false")); + KeysList.push_back(std::pair<std::string, std::string>("showProgressionInTheTitle","true")); + KeysList.push_back(std::pair<std::string, std::string>("progressColorWrite",QApplication::palette().color(QPalette::Highlight).name().toStdString())); + KeysList.push_back(std::pair<std::string, std::string>("progressColorRead",QApplication::palette().color(QPalette::AlternateBase).name().toStdString())); + KeysList.push_back(std::pair<std::string, std::string>("progressColorRemaining",QApplication::palette().color(QPalette::Base).name().toStdString())); + KeysList.push_back(std::pair<std::string, std::string>("alwaysOnTop","false")); + KeysList.push_back(std::pair<std::string, std::string>("minimizeToSystray","false")); + KeysList.push_back(std::pair<std::string, std::string>("startMinimized","false")); + optionsEngine->addOptionGroup(KeysList); + connect(optionsEngine,&OptionInterface::resetOptions,this,&ThemesFactory::resetOptions); + updateSpeed(); + } + #ifndef __GNUC__ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"__GNUC__ is not set"); + #else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"__GNUC__ is set"); + #endif +} + +QWidget * ThemesFactory::options() +{ + if(optionsEngine!=NULL) + { + bool ok; + currentSpeed=stringtouint32(optionsEngine->getOptionValue("currentSpeed"),&ok); + if(!ok) + currentSpeed=0; + ui->comboBox_copyEnd->setCurrentIndex(stringtouint32(optionsEngine->getOptionValue("comboBox_copyEnd"))); + ui->speedWithProgressBar->setChecked(stringtobool(optionsEngine->getOptionValue("speedWithProgressBar"))); + ui->checkBoxShowSpeed->setChecked(stringtobool(optionsEngine->getOptionValue("checkBoxShowSpeed"))); + ui->checkBoxStartWithMoreButtonPushed->setChecked(stringtobool(optionsEngine->getOptionValue("moreButtonPushed"))); + ui->showDualProgression->setChecked(stringtobool(optionsEngine->getOptionValue("showDualProgression"))); + ui->showProgressionInTheTitle->setChecked(stringtobool(optionsEngine->getOptionValue("showProgressionInTheTitle"))); + ui->alwaysOnTop->setChecked(stringtobool(optionsEngine->getOptionValue("alwaysOnTop"))); + ui->minimizeToSystray->setChecked(stringtobool(optionsEngine->getOptionValue("minimizeToSystray"))); + ui->startMinimized->setChecked(stringtobool(optionsEngine->getOptionValue("startMinimized"))); + + progressColorWrite=QVariant(QString::fromStdString(optionsEngine->getOptionValue("progressColorWrite"))).value<QColor>(); + progressColorRead=QVariant(QString::fromStdString(optionsEngine->getOptionValue("progressColorRead"))).value<QColor>(); + progressColorRemaining=QVariant(QString::fromStdString(optionsEngine->getOptionValue("progressColorRemaining"))).value<QColor>(); + + QPixmap pixmap(75,20); + pixmap.fill(progressColorWrite); + ui->progressColorWrite->setIcon(pixmap); + pixmap.fill(progressColorRead); + ui->progressColorRead->setIcon(pixmap); + pixmap.fill(progressColorRemaining); + ui->progressColorRemaining->setIcon(pixmap); + updateSpeed(); + updateProgressionColorBar(); + + connect(ui->alwaysOnTop,&QCheckBox::stateChanged,this,&ThemesFactory::alwaysOnTop); + connect(ui->checkBoxShowSpeed,&QCheckBox::stateChanged,this,&ThemesFactory::checkBoxShowSpeed); + connect(ui->minimizeToSystray,&QCheckBox::stateChanged,this,&ThemesFactory::minimizeToSystray); + connect(ui->checkBox_limitSpeed,&QCheckBox::stateChanged,this,&ThemesFactory::uiUpdateSpeed); + connect(ui->SliderSpeed,&QAbstractSlider::valueChanged,this,&ThemesFactory::on_SliderSpeed_valueChanged); + connect(ui->limitSpeed,static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &ThemesFactory::uiUpdateSpeed); + connect(ui->checkBoxShowSpeed,&QAbstractButton::toggled,this,&ThemesFactory::checkBoxShowSpeedHaveChanged); + connect(ui->checkBoxStartWithMoreButtonPushed,&QAbstractButton::toggled,this,&ThemesFactory::checkBoxStartWithMoreButtonPushedHaveChanged); + connect(ui->speedWithProgressBar,&QAbstractButton::toggled,this,&ThemesFactory::speedWithProgressBar); + connect(ui->comboBox_copyEnd, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,&ThemesFactory::comboBox_copyEnd); + connect(ui->showDualProgression,&QCheckBox::stateChanged,this,&ThemesFactory::showDualProgression); + connect(ui->showDualProgression,&QCheckBox::stateChanged,this,&ThemesFactory::updateProgressionColorBar); + connect(ui->showProgressionInTheTitle,&QCheckBox::stateChanged,this,&ThemesFactory::setShowProgressionInTheTitle); + connect(ui->progressColorWrite,&QAbstractButton::clicked,this,&ThemesFactory::progressColorWrite_clicked); + connect(ui->progressColorRead, &QAbstractButton::clicked,this,&ThemesFactory::progressColorRead_clicked); + connect(ui->progressColorRemaining,&QAbstractButton::clicked,this,&ThemesFactory::progressColorRemaining_clicked); + connect(ui->startMinimized,&QCheckBox::stateChanged,this,&ThemesFactory::startMinimized); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"return the options"); + return tempWidget; +} + +QIcon ThemesFactory::getIcon(const std::string &fileName) const +{ + if(fileName=="SystemTrayIcon/exit.png") + { + QIcon tempIcon=QIcon::fromTheme("application-exit"); + if(!tempIcon.isNull()) + return tempIcon; + } + else if(fileName=="SystemTrayIcon/add.png") + { + QIcon tempIcon=QIcon::fromTheme("list-add"); + if(!tempIcon.isNull()) + return tempIcon; + } + else if(fileName=="SystemTrayIcon/informations.png") + { + QIcon tempIcon=QIcon::fromTheme("help-about"); + if(!tempIcon.isNull()) + return tempIcon; + } + else if(fileName=="SystemTrayIcon/options.png") + { + QIcon tempIcon=QIcon::fromTheme("applications-system"); + if(!tempIcon.isNull()) + return tempIcon; + } + #ifdef SUPERCOPIER + return QIcon(":/Themes/Supercopier/resources/"+QString::fromStdString(fileName)); + #else + return QIcon(":/Themes/Oxygen/resources/"+QString::fromStdString(fileName)); + #endif +} + +void ThemesFactory::resetOptions() +{ + ui->checkBoxShowSpeed->setChecked(true); + ui->checkBoxStartWithMoreButtonPushed->setChecked(false); +} + +void ThemesFactory::checkBoxShowSpeedHaveChanged(bool toggled) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("checkBoxShowSpeed",std::to_string(toggled)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::checkBoxStartWithMoreButtonPushedHaveChanged(bool toggled) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("moreButtonPushed",std::to_string(toggled)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::comboBox_copyEnd(int value) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("comboBox_copyEnd",std::to_string(value)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::speedWithProgressBar(bool toggled) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("speedWithProgressBar",std::to_string(toggled)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::newLanguageLoaded() +{ + ui->retranslateUi(tempWidget); + ui->comboBox_copyEnd->setItemText(0,tr("Don't close if errors are found")); + ui->comboBox_copyEnd->setItemText(1,tr("Never close")); + ui->comboBox_copyEnd->setItemText(2,tr("Always close")); + emit reloadLanguage(); +} + +void ThemesFactory::checkBoxShowSpeed(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + Q_UNUSED(checked); + updateSpeed(); +} + +void ThemesFactory::minimizeToSystray(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("minimizeToSystray",std::to_string(checked)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::alwaysOnTop(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("alwaysOnTop",std::to_string(checked)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::showDualProgression(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("showDualProgression",std::to_string(checked)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::startMinimized(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"the checkbox have changed"); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("startMinimized",std::to_string(checked)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::on_SliderSpeed_valueChanged(int value) +{ + if(optionsEngine==NULL) + return; + if(!ui->checkBoxShowSpeed->isChecked()) + return; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"value: "+std::to_string(value)); + switch(value) + { + case 0: + currentSpeed=0; + break; + case 1: + currentSpeed=1024; + break; + case 2: + currentSpeed=1024*4; + break; + case 3: + currentSpeed=1024*16; + break; + case 4: + currentSpeed=1024*64; + break; + case 5: + currentSpeed=1024*128; + break; + } + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + updateSpeed(); +} + +void ThemesFactory::uiUpdateSpeed() +{ + if(optionsEngine==NULL) + return; + if(ui->checkBoxShowSpeed->isChecked()) + return; + if(!ui->checkBox_limitSpeed->isChecked()) + currentSpeed=0; + else + currentSpeed=ui->limitSpeed->value(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit newSpeedLimitation: "+std::to_string(currentSpeed)); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::updateSpeed() +{ + if(optionsEngine==NULL) + return; + ui->label_Slider_speed->setVisible(ui->checkBoxShowSpeed->isChecked()); + ui->SliderSpeed->setVisible(ui->checkBoxShowSpeed->isChecked()); + ui->label_SpeedMaxValue->setVisible(ui->checkBoxShowSpeed->isChecked()); + ui->limitSpeed->setVisible(!ui->checkBoxShowSpeed->isChecked()); + ui->checkBox_limitSpeed->setVisible(!ui->checkBoxShowSpeed->isChecked()); + + if(ui->checkBoxShowSpeed->isChecked()) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"checked, currentSpeed: "+std::to_string(currentSpeed)); + ui->limitSpeed->setEnabled(false); + if(currentSpeed==0) + { + ui->SliderSpeed->setValue(0); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->translateText("Unlimited"))); + } + else if(currentSpeed<=1024) + { + if(currentSpeed!=1024) + { + currentSpeed=1024; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(1); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*1))); + } + else if(currentSpeed<=1024*4) + { + if(currentSpeed!=1024*4) + { + currentSpeed=1024*4; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(2); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*4))); + } + else if(currentSpeed<=1024*16) + { + if(currentSpeed!=1024*16) + { + currentSpeed=1024*16; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(3); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*16))); + } + else if(currentSpeed<=1024*64) + { + if(currentSpeed!=1024*64) + { + currentSpeed=1024*64; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(4); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*64))); + } + else + { + if(currentSpeed!=1024*128) + { + currentSpeed=1024*128; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("currentSpeed",std::to_string(currentSpeed)); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(5); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*128))); + } + } + else + { + ui->checkBox_limitSpeed->setChecked(currentSpeed>0); + if(currentSpeed>0) + ui->limitSpeed->setValue(currentSpeed); + ui->checkBox_limitSpeed->setEnabled(currentSpeed!=-1); + ui->limitSpeed->setEnabled(ui->checkBox_limitSpeed->isChecked()); + } +} + +void ThemesFactory::progressColorWrite_clicked() +{ + QColor color=QColorDialog::getColor(progressColorWrite,NULL,tr("Select a color")); + if(!color.isValid()) + return; + progressColorWrite=color; + QPixmap pixmap(75,20); + pixmap.fill(progressColorWrite); + ui->progressColorWrite->setIcon(pixmap); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("progressColorWrite",progressColorWrite.name().toStdString()); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::progressColorRead_clicked() +{ + QColor color=QColorDialog::getColor(progressColorRead,NULL,tr("Select a color")); + if(!color.isValid()) + return; + progressColorRead=color; + QPixmap pixmap(75,20); + pixmap.fill(progressColorRead); + ui->progressColorRead->setIcon(pixmap); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("progressColorRead",progressColorRead.name().toStdString()); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::progressColorRemaining_clicked() +{ + QColor color=QColorDialog::getColor(progressColorRemaining,NULL,tr("Select a color")); + if(!color.isValid()) + return; + progressColorRemaining=color; + QPixmap pixmap(75,20); + pixmap.fill(progressColorRemaining); + ui->progressColorRemaining->setIcon(pixmap); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("progressColorRemaining",progressColorRemaining.name().toStdString()); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} + +void ThemesFactory::updateProgressionColorBar() +{ + ui->labelProgressionColor->setVisible(ui->showDualProgression->isChecked()); + ui->frameProgressionColor->setVisible(ui->showDualProgression->isChecked()); +} + +void ThemesFactory::setShowProgressionInTheTitle() +{ + if(optionsEngine!=NULL) + optionsEngine->setOptionValue("showProgressionInTheTitle",std::to_string(ui->showProgressionInTheTitle->isChecked())); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} diff --git a/plugins/Themes/Oxygen/ThemesFactory.h b/plugins/Themes/Oxygen/ThemesFactory.h new file mode 100644 index 0000000..f5e304f --- /dev/null +++ b/plugins/Themes/Oxygen/ThemesFactory.h @@ -0,0 +1,86 @@ +/** \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 <QMenu> +#include <QCloseEvent> +#include <QFile> +#include <QIcon> +#include <QColor> +#include <QPixmap> + +#include "../../../interface/PluginInterface_Themes.h" +#include "ui_themesOptions.h" +#include "interface.h" +#include "Environment.h" + +namespace Ui { + class themesOptions; +} + +/// \brief Define the factory, to create instance of the interface +class ThemesFactory : public PluginInterface_ThemesFactory +{ + Q_OBJECT + #ifndef ULTRACOPIER_PLUGIN_ALL_IN_ONE_DIRECT + Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json") + Q_INTERFACES(PluginInterface_ThemesFactory) + #endif +public: + ThemesFactory(); + ~ThemesFactory(); + /// \brief to return the instance of the copy engine + PluginInterface_Themes * getInstance(); + /// \brief set the resources, to store options, to have facilityInterface + void setResources(OptionInterface * optionsEngine,const std::string & + #ifdef ULTRACOPIER_PLUGIN_DEBUG + writePath + #endif + ,const std::string & + #ifdef ULTRACOPIER_PLUGIN_DEBUG + pluginPath + #endif + ,FacilityInterface * facilityEngine,const bool &portableVersion); + /// \brief to get the default options widget + QWidget * options(); + /// \brief to get a resource icon + QIcon getIcon(const std::string &fileName) const; +private slots: + void checkBoxShowSpeedHaveChanged(bool toggled); + void checkBoxStartWithMoreButtonPushedHaveChanged(bool toggled); + void comboBox_copyEnd(int value); + void speedWithProgressBar(bool toggled); + void checkBoxShowSpeed(bool checked); + void minimizeToSystray(bool checked); + void alwaysOnTop(bool checked); + void showDualProgression(bool checked); + void on_SliderSpeed_valueChanged(int value); + void uiUpdateSpeed(); + void updateSpeed(); + void progressColorWrite_clicked(); + void progressColorRead_clicked(); + void progressColorRemaining_clicked(); + void updateProgressionColorBar(); + void setShowProgressionInTheTitle(); + void startMinimized(bool checked); +public slots: + void resetOptions(); + void newLanguageLoaded(); +private: + OptionInterface * optionsEngine; + Ui::themesOptions *ui; + QWidget *tempWidget; + FacilityInterface * facilityEngine; + int32_t currentSpeed;///< in KB/s, assume as 0KB/s as default like every where + QColor progressColorWrite,progressColorRead,progressColorRemaining; +signals: + void reloadLanguage() const; +}; + +#endif // FACTORY_H diff --git a/plugins/Themes/Oxygen/TransferModel.cpp b/plugins/Themes/Oxygen/TransferModel.cpp new file mode 100644 index 0000000..2959598 --- /dev/null +++ b/plugins/Themes/Oxygen/TransferModel.cpp @@ -0,0 +1,588 @@ +#include "TransferModel.h" +#include "../../../cpp11addition.h" + +#define COLUMN_COUNT 3 + +// Model + +QIcon *TransferModel::start=NULL; +QIcon *TransferModel::stop=NULL; + +TransferModel::TransferModel() +{ + /// \warning to prevent Must construct a QGuiApplication before QPixmap IN STATIC WINDOWS VERSION ONLY + if(TransferModel::start==NULL) + TransferModel::start=new QIcon(QStringLiteral(":/resources/player_play.png")); + if(TransferModel::stop==NULL) + TransferModel::stop=new QIcon(QStringLiteral(":/resources/player_pause.png")); + currentIndexSearch=0; + haveSearchItem=false; + loop_size=0,index_for_loop=0; + sub_loop_size=0,sub_index_for_loop=0; + row=0,column=0; + facilityEngine=NULL; + currentIndexSearch=0; + haveSearchItem=false; + searchId=0; +} + +int TransferModel::columnCount( const QModelIndex& parent ) const +{ + return parent == QModelIndex() ? COLUMN_COUNT : 0; +} + +QVariant TransferModel::data( const QModelIndex& index, int role ) const +{ + int row,column; + row=index.row(); + column=index.column(); + if(index.parent()!=QModelIndex() || row < 0 || (unsigned int)row >= transfertItemList.size() || column < 0 || column >= COLUMN_COUNT) + return QVariant(); + + const TransfertItem& item = transfertItemList.at(row); + if(role==Qt::UserRole) + return (quint64)item.id; + else if(role==Qt::DisplayRole) + { + switch(column) + { + case 0: + return QString::fromStdString(item.source); + break; + case 1: + return QString::fromStdString(item.size); + break; + case 2: + return QString::fromStdString(item.destination); + break; + default: + return QVariant(); + } + } + else if(role==Qt::DecorationRole) + { + switch(column) + { + case 0: + if(stopId.find(item.id)!=stopId.cend()) + return *stop; + else if(startId.find(item.id)!=startId.cend()) + return *start; + else + return QVariant(); + break; + default: + return QVariant(); + } + } + else if(role==Qt::BackgroundRole) + { + if(!search_text.empty() && (item.source.find(search_text)!=std::string::npos || + item.destination.find(search_text)!=std::string::npos)) + { + if(haveSearchItem && searchId==item.id) + return QColor(255,150,150,100); + else + return QColor(255,255,0,100); + } + else + return QVariant(); + } + return QVariant(); +} + +int TransferModel::rowCount( const QModelIndex& parent ) const +{ + return parent == QModelIndex() ? transfertItemList.size() : 0; +} + +uint64_t TransferModel::firstId() const +{ + if(transfertItemList.size()>0) + return transfertItemList.front().id; + else + return 0; +} + +QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const +{ + if(facilityEngine==NULL) + abort(); + if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) { + switch ( section ) { + case 0: + return QString::fromStdString(facilityEngine->translateText("Source")); + case 1: + return QString::fromStdString(facilityEngine->translateText("Size")); + case 2: + return QString::fromStdString(facilityEngine->translateText("Destination")); + } + } + + return QAbstractTableModel::headerData( section, orientation, role ); +} + +bool TransferModel::setData( const QModelIndex& index, const QVariant& value, int role ) +{ + row=index.row(); + column=index.column(); + if(index.parent()!=QModelIndex() || row < 0 || (unsigned int)row >= transfertItemList.size() || column < 0 || column >= COLUMN_COUNT) + return false; + + TransfertItem& item = transfertItemList[row]; + if(role==Qt::UserRole) + { + item.id=value.toULongLong(); + return true; + } + else if(role==Qt::DisplayRole) + { + switch(column) + { + case 0: + item.source=value.toString().toStdString(); + emit dataChanged(index,index); + return true; + break; + case 1: + item.size=value.toString().toStdString(); + emit dataChanged(index,index); + return true; + break; + case 2: + item.destination=value.toString().toStdString(); + emit dataChanged(index,index); + return true; + break; + default: + return false; + } + } + return false; +} + +/* + Return[0]: totalFile + Return[1]: totalSize + Return[2]: currentFile + */ +std::vector<uint64_t> TransferModel::synchronizeItems(const std::vector<Ultracopier::ReturnActionOnCopyList>& returnActions) +{ + const QModelIndexList oldIndexes = persistentIndexList(); + QModelIndexList newIndexes=oldIndexes; + QMap<int, quint64> oldMapping; // model index row in model before update, item id + QMap<quint64, int> newMapping; // item id, model index row in model after update + for ( int i = 0; i < oldIndexes.count(); i++ ) { + const QModelIndex& index = oldIndexes.at(i); + oldMapping[index.row()] = index.data( Qt::UserRole ).value<quint64>(); + } + + loop_size=returnActions.size(); + index_for_loop=0; + quint64 totalFile=0,totalSize=0,currentFile=0; + emit layoutAboutToBeChanged(); + while(index_for_loop<loop_size) + { + const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop); + switch(action.type) + { + case Ultracopier::AddingItem: + { + TransfertItem newItem; + newItem.id=action.addAction.id; + newItem.source=action.addAction.sourceFullPath; + newItem.size=facilityEngine->sizeToString(action.addAction.size); + newItem.destination=action.addAction.destinationFullPath; + transfertItemList.push_back(newItem); + totalFile++; + totalSize+=action.addAction.size; + } + break; + case Ultracopier::MoveItem: + { + //bool current_entry= + if(action.userAction.position<0) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + if((unsigned int)action.userAction.position>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + if(action.userAction.moveAt<0) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + if((unsigned int)action.userAction.moveAt>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, position is wrong: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + if(action.userAction.position==action.userAction.moveAt) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("id: %1, move at same position: %2").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + const TransfertItem transfertItem=transfertItemList.at(action.userAction.position); + transfertItemList.erase(transfertItemList.cbegin()+action.userAction.position); + transfertItemList.insert(transfertItemList.cbegin()+action.userAction.moveAt,transfertItem); + //newIndexes.move(action.userAction.position,action.userAction.moveAt); + } + break; + case Ultracopier::RemoveItem: + { + if(currentIndexSearch>0 && action.userAction.position<=currentIndexSearch) + currentIndexSearch--; + if(action.userAction.position<0) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + if((unsigned int)action.userAction.position>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position).toStdString()); + break; + } + transfertItemList.erase(transfertItemList.cbegin()+action.userAction.position); + currentFile++; + startId.erase(action.addAction.id); + stopId.erase(action.addAction.id); + internalRunningOperation.erase(action.addAction.id); + //newIndexes.remove(action.userAction.moveAt); + } + break; + case Ultracopier::PreOperation: + { + ItemOfCopyListWithMoreInformations tempItem; + tempItem.currentReadProgression=0; + tempItem.currentWriteProgression=0; + tempItem.generalData=action.addAction; + tempItem.actionType=action.type; + internalRunningOperation[action.addAction.id]=tempItem; + } + break; + case Ultracopier::Transfer: + { + if(startId.find(action.addAction.id)==startId.cend()) + startId.insert(action.addAction.id); + stopId.erase(action.addAction.id); + if(internalRunningOperation.find(action.addAction.id)!=internalRunningOperation.cend()) + internalRunningOperation[action.addAction.id].actionType=action.type; + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id).toStdString()); + } + break; + case Ultracopier::PostOperation: + { + if(stopId.find(action.addAction.id)==stopId.cend()) + stopId.insert(action.addAction.id); + startId.erase(action.addAction.id); + } + break; + case Ultracopier::CustomOperation: + { + bool custom_with_progression=(action.addAction.size==1); + //without progression + if(custom_with_progression) + { + if(startId.find(action.addAction.id)!=startId.cend()) + { + startId.erase(action.addAction.id); + if(stopId.find(action.addAction.id)==stopId.cend()) + stopId.insert(action.addAction.id); + } + } + //with progression + else + { + stopId.erase(action.addAction.id); + if(startId.find(action.addAction.id)==startId.cend()) + startId.insert(action.addAction.id); + } + if(internalRunningOperation.find(action.addAction.id)!=internalRunningOperation.cend()) + { + ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; + item.actionType=action.type; + item.custom_with_progression=custom_with_progression; + item.currentReadProgression=0; + item.currentWriteProgression=0; + } + } + break; + default: + //unknow code, ignore it + break; + } + index_for_loop++; + } + + if(!oldIndexes.isEmpty()) + { + const QSet<quint64> ids = oldMapping.values().toSet(); + + for ( unsigned int i = 0; i < transfertItemList.size(); i++ ) { + const TransferModel::TransfertItem& item = transfertItemList.at(i); + + if ( ids.contains( item.id ) ) { + newMapping[ item.id ] = i; + } + } + + for ( int i = 0; i < oldIndexes.count(); i++ ) { + const QModelIndex& index = oldIndexes.at(i); + const int newRow = newMapping.value( oldMapping.value(index.row()), -1 ); + newIndexes[ i ] = newRow == -1 ? QModelIndex() : QAbstractTableModel::index( newRow, index.column(), index.parent() ); + } + } + + changePersistentIndexList( oldIndexes, newIndexes ); + emit layoutChanged(); + { + std::vector<uint64_t> newList; + newList.resize(3); + newList[0]=totalFile; + newList[1]=totalSize; + newList[2]=currentFile; + return newList; + } +} + +void TransferModel::setFacilityEngine(FacilityInterface * facilityEngine) +{ + this->facilityEngine=facilityEngine; +} + +int TransferModel::search(const std::string &text, bool searchNext) +{ + emit layoutAboutToBeChanged(); + search_text=text; + emit layoutChanged(); + if(transfertItemList.size()==0) + return -1; + if(text.empty()) + return -1; + if(searchNext) + { + currentIndexSearch++; + if(currentIndexSearch>=loop_size) + currentIndexSearch=0; + } + index_for_loop=0; + loop_size=transfertItemList.size(); + while(index_for_loop<loop_size) + { + const TransfertItem &transfertItem=transfertItemList.at(currentIndexSearch); + if(transfertItem.source.find(search_text)!=std::string::npos || + transfertItem.destination.find(search_text)!=std::string::npos) + { + haveSearchItem=true; + searchId=transfertItemList.at(currentIndexSearch).id; + return currentIndexSearch; + } + currentIndexSearch++; + if(currentIndexSearch>=loop_size) + currentIndexSearch=0; + index_for_loop++; + } + haveSearchItem=false; + return -1; +} + +int TransferModel::searchPrev(const std::string &text) +{ + emit layoutAboutToBeChanged(); + search_text=text; + emit layoutChanged(); + if(transfertItemList.size()==0) + return -1; + if(text.empty()) + return -1; + if(currentIndexSearch==0) + currentIndexSearch=loop_size-1; + else + currentIndexSearch--; + index_for_loop=0; + loop_size=transfertItemList.size(); + while(index_for_loop<loop_size) + { + const TransfertItem &transfertItem=transfertItemList.at(currentIndexSearch); + if(transfertItem.source.find(search_text)!=std::string::npos || + transfertItem.destination.find(search_text)!=std::string::npos) + { + haveSearchItem=true; + searchId=transfertItemList.at(currentIndexSearch).id; + return currentIndexSearch; + } + if(currentIndexSearch==0) + currentIndexSearch=loop_size-1; + else + currentIndexSearch--; + index_for_loop++; + } + haveSearchItem=false; + return -1; +} + +void TransferModel::setFileProgression(std::vector<Ultracopier::ProgressionItem> &progressionList) +{ + loop_size=progressionList.size(); + index_for_loop=0; + while(index_for_loop<loop_size) + { + if(internalRunningOperation.find(progressionList.at(index_for_loop).id)!=internalRunningOperation.cend()) + { + internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total; + internalRunningOperation[progressionList.at(index_for_loop).id].currentReadProgression=progressionList.at(index_for_loop).currentRead; + internalRunningOperation[progressionList.at(index_for_loop).id].currentWriteProgression=progressionList.at(index_for_loop).currentWrite; + #ifdef ULTRACOPIER_PLUGIN_DEBUG + progressionList.erase(progressionList.cbegin()+index_for_loop); + index_for_loop--; + loop_size--; + #endif + } + index_for_loop++; + } + #ifdef ULTRACOPIER_PLUGIN_DEBUG + if(progressionList.size()>0) + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"progression remaning items"); + #endif +} + +TransferModel::currentTransfertItem TransferModel::getCurrentTransfertItem() const +{ + currentTransfertItem returnItem; + returnItem.progressBar_read=-1; + returnItem.progressBar_write=0; + returnItem.haveItem=startId.size()>0; + if(returnItem.haveItem) + { + if(internalRunningOperation.find(*startId.cbegin())==internalRunningOperation.cend()) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation.at(*startId.cbegin()); + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); + returnItem.id=itemTransfer.generalData.id; + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_read=-1; + else + { + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + returnItem.progressBar_read=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + { + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + } + break; + //should never pass here + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString()); + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString()); + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + break; + default: + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString()); + break; + } + } + else + { + returnItem.haveItem=stopId.size()>0; + if(returnItem.haveItem) + { + if(internalRunningOperation.find(*stopId.cbegin())==internalRunningOperation.cend()) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation.at(*stopId.cbegin()); + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); + returnItem.id=itemTransfer.generalData.id; + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_read=-1; + else + { + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + returnItem.progressBar_read=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + { + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + } + break; + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString()); + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString()); + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + break; + default: + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType).toStdString()); + break; + } + } + } + if(returnItem.haveItem && returnItem.progressBar_read!=-1 && returnItem.progressBar_write>returnItem.progressBar_read) + { + int tempVar=returnItem.progressBar_write; + returnItem.progressBar_write=returnItem.progressBar_read; + returnItem.progressBar_read=tempVar; + } + return returnItem; +} diff --git a/plugins/Themes/Oxygen/TransferModel.h b/plugins/Themes/Oxygen/TransferModel.h new file mode 100644 index 0000000..e572f9e --- /dev/null +++ b/plugins/Themes/Oxygen/TransferModel.h @@ -0,0 +1,96 @@ +#ifndef TRANSFERMODEL_H +#define TRANSFERMODEL_H + +#include <QAbstractTableModel> +#include <QItemSelectionModel> +#include <QModelIndex> +#include <QVariant> +#include <QList> +#include <QSet> +#include <QIcon> +#include <QString> +#include <unordered_map> +#include <unordered_set> +#include <set> +#include <vector> + +#include "StructEnumDefinition.h" +#include "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 + { + uint64_t id; + std::string source; + std::string size; + std::string destination; + }; + /// \brief the transfer item with progression + struct ItemOfCopyListWithMoreInformations + { + uint64_t currentReadProgression,currentWriteProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + /// \brief returned first transfer item + struct currentTransfertItem + { + uint64_t id; + bool haveItem; + std::string from; + std::string to; + std::string current_file; + int progressBar_read,progressBar_write; + }; + + TransferModel(); + + virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; + virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; + virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; + virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + + std::vector<uint64_t> synchronizeItems(const std::vector<Ultracopier::ReturnActionOnCopyList>& returnActions); + void setFacilityEngine(FacilityInterface * facilityEngine); + + int search(const std::string &text,bool searchNext); + int searchPrev(const std::string &text); + + void setFileProgression(std::vector<Ultracopier::ProgressionItem> &progressionList); + + currentTransfertItem getCurrentTransfertItem() const; + + uint64_t firstId() const; +protected: + std::vector<TransfertItem> transfertItemList;///< To have a transfer list for the user + std::set<uint64_t> startId,stopId;///< To show what is started, what is stopped + std::unordered_map<uint64_t,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat +private: + int loop_size,index_for_loop; + int sub_loop_size,sub_index_for_loop; + int row,column; + FacilityInterface * facilityEngine; + std::string search_text; + /// \brief index from start the search, decresed by remove before it + int currentIndexSearch; + bool haveSearchItem; + uint64_t searchId; + static QIcon *start; + static QIcon *stop; +signals: + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,std::string fonction,std::string text,std::string file,int ligne) const; + #endif +}; + +#endif // TRANSFERMODEL_H diff --git a/plugins/Themes/Oxygen/Variable.h b/plugins/Themes/Oxygen/Variable.h new file mode 100644 index 0000000..8b6119b --- /dev/null +++ b/plugins/Themes/Oxygen/Variable.h @@ -0,0 +1,18 @@ +/** \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
+
+#define ULTRACOPIER_VERSION_ULTIMATE
+
+#endif // VARIABLE_H
+
+
+
diff --git a/plugins/Themes/Oxygen/documentation.dox b/plugins/Themes/Oxygen/documentation.dox new file mode 100644 index 0000000..d94ce0b --- /dev/null +++ b/plugins/Themes/Oxygen/documentation.dox @@ -0,0 +1,31 @@ +/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/ + +/* + This file contains NO source code, just some documentation for doxygen to + parse. +*/ + +/*! + \mainpage Oxygen + + \section mainpage_overview Overview + + It's the default interface for Ultracopier.\n + More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. + + \section mainpage_platforms Platforms + + Ultracopier might be usable in all environments where you find Qt 5.\n + Ultracopier requires Qt 5.0 or newer. Tested on Qt 5.0. + + \section mainpage_downloads Downloads + + You can find the link on <a href="http://ultracopier.first-world.info/">Ultracopier</a> project page, via git, snapshot sources, ... + + \section license GPL Version 3 + The code source is under GPL3. The image is extacted from Oxygen icon pack of KDE4.\n + resources/export-transfer-list.png and resources/import-transfer-list.png done by png manipulation of KDE's oxygen icon pack (16x16/actions/format-indent-more.png + 16x16/actions/format-list-unordered.png), document-save.png -> all SystemTrayIcon/systray_* (color alteration).\n + From 16x16/actions/: list-add.png -> add.png and SystemTrayIcon/add.png, process-stop.png -> remove.png, document-save.png -> main.png and, arrow-down.png -> moveDown.png, arrow-up.png -> moveUp.png, system-shutdown.png -> cancel.png and SystemTrayIcon/exit.png, arrow-down-double.png -> putOnBottom.png, arrow-up-double.png -> putOnTop.png, media-skip-forward.png -> player_end.png, media-playback-pause.png -> player_pause.png, media-playback-start.png -> player_play.png, document-preview.png -> search.png, help-about.png -> SystemTrayIcon/informations.png \n + And 16x16/categories/applications-development.png -> SystemTrayIcon/options.png + +*/ diff --git a/plugins/Themes/Oxygen/informations.xml b/plugins/Themes/Oxygen/informations.xml new file mode 100644 index 0000000..f03f832 --- /dev/null +++ b/plugins/Themes/Oxygen/informations.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<package> + <title xml:lang="en"><![CDATA[Oxygen style for Ultracopier]]></title><!-- english is required --> + <title xml:lang="fr"><![CDATA[Style oxygen pour Ultracopier]]></title> + <!-- What kind of plugin this is --> + <category>Themes</category> + <!-- Who wrote this plugin --> + <author><![CDATA[BRULE Herman, alpha_one_x86 (alpha_one_x86@first-world.info)]]></author> + <!-- URL of page or site for this plugin (may provide additional information, bug reports, feature requests). --> + <website xml:lang="en"><![CDATA[http://ultracopier.first-world.info/]]></website><!-- not required --> + <website xml:lang="fr"><![CDATA[http://ultracopier-fr.first-world.info/]]></website><!-- not required --> + <!-- the date-time format should be in timestamps format --> + <pubDate>1287496800</pubDate> + <!-- the architecture code of this plugin, found PlatformMacro.h into ultracopier source --> + <architecture>windows-x86</architecture> + <!-- Detailed description --> + <description xml:lang="en"><![CDATA[Oxygen style for Ultracopier]]></description> + <description xml:lang="fr"><![CDATA[Style oxygen pour Ultracopier]]></description> + <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> + <version>1.4.0.4</version> + <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> + <name>Oxygen</name> + <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> + <dependencies><![CDATA[ + ]]></dependencies> +</package>
\ No newline at end of file diff --git a/plugins/Themes/Oxygen/interface.cpp b/plugins/Themes/Oxygen/interface.cpp new file mode 100644 index 0000000..84b4dd6 --- /dev/null +++ b/plugins/Themes/Oxygen/interface.cpp @@ -0,0 +1,1497 @@ +/** \file interface.cpp +\brief Define the interface core +\author alpha_one_x86 */ + +#include <QMessageBox> +#include <QMimeData> +#include <QScrollArea> +#include <QColorDialog> +#include <QRect> +#include <QPainter> +#include <QDebug> +#include <cmath> +#include <chrono> +#include <ctime> +#ifdef Q_OS_WIN + #ifndef NOMINMAX + #define NOMINMAX + #endif + #include <windows.h> +#endif + +#include "interface.h" +#include "ui_interface.h" +#include "ThemesFactory.h" + +QIcon Themes::player_play; +QIcon Themes::player_pause; +QIcon Themes::tempExitIcon; +QIcon Themes::editDelete; +QIcon Themes::skinIcon; +QIcon Themes::editFind; +QIcon Themes::documentOpen; +QIcon Themes::documentSave; +QIcon Themes::listAdd; +bool Themes::iconLoaded=false; + +// The cmath header from MSVC does not contain round() +#if (defined(_WIN64) || defined(_WIN32)) && defined(_MSC_VER) +inline double round(double d) { + return floor( d + 0.5 ); +} +#endif + +Themes::Themes(const bool &alwaysOnTop, + const bool &showProgressionInTheTitle, + const QColor &progressColorWrite, + const QColor &progressColorRead, + const QColor &progressColorRemaining, + const bool &showDualProgression, + const quint8 &comboBox_copyEnd, + const bool &speedWithProgressBar, + const qint32 ¤tSpeed, + const bool &checkBoxShowSpeed, + FacilityInterface * facilityEngine, + const bool &moreButtonPushed, + const bool &minimizeToSystray, + const bool &startMinimized) : + ui(new Ui::interfaceCopy()), + uiOptions(new Ui::themesOptions()) +{ + this->facilityEngine=facilityEngine; + ui->setupUi(this); + uiOptions->setupUi(ui->optionsTab); + + currentFile = 0; + totalFile = 0; + currentSize = 0; + totalSize = 0; + getOldProgression = 200; + haveError = false; + stat = status_never_started; + modeIsForced = false; + haveStarted = false; + storeIsInPause = false; + durationStarted = false; + if(startMinimized) + this->showMinimized(); + + this->progressColorWrite = progressColorWrite; + this->progressColorRead = progressColorRead; + this->progressColorRemaining= progressColorRemaining; + this->currentSpeed = currentSpeed; + uiOptions->showProgressionInTheTitle->setChecked(showProgressionInTheTitle); + uiOptions->speedWithProgressBar->setChecked(speedWithProgressBar); + uiOptions->showDualProgression->setChecked(showDualProgression); + uiOptions->startMinimized->setEnabled(false); + uiOptions->alwaysOnTop->setChecked(alwaysOnTop); + uiOptions->minimizeToSystray->setChecked(minimizeToSystray); + //uiOptions->setupUi(ui->tabWidget->widget(ui->tabWidget->count()-1)); + uiOptions->labelStartWithMoreButtonPushed->setVisible(false); + uiOptions->checkBoxStartWithMoreButtonPushed->setVisible(false); + uiOptions->label_Slider_speed->setVisible(false); + uiOptions->SliderSpeed->setVisible(false); + uiOptions->label_SpeedMaxValue->setVisible(false); + uiOptions->comboBox_copyEnd->setCurrentIndex(comboBox_copyEnd); + speedWithProgressBar_toggled(speedWithProgressBar); + showDualProgression_toggled(showDualProgression); + QPixmap pixmap(75,20); + pixmap.fill(progressColorWrite); + uiOptions->progressColorWrite->setIcon(pixmap); + pixmap.fill(progressColorRead); + uiOptions->progressColorRead->setIcon(pixmap); + pixmap.fill(progressColorRemaining); + uiOptions->progressColorRemaining->setIcon(pixmap); + + transferModel.setFacilityEngine(facilityEngine);//need be before ui->TransferList->setModel(&transferModel); due to call of TransferModel::headerData() + ui->TransferList->setModel(&transferModel); + ui->tabWidget->setCurrentIndex(0); + uiOptions->toolBox->setCurrentIndex(0); + uiOptions->checkBoxShowSpeed->setChecked(checkBoxShowSpeed); + menu=new QMenu(this); + ui->add->setMenu(menu); + + //connect the options + checkBoxShowSpeed_toggled(uiOptions->checkBoxShowSpeed->isChecked()); + connect(uiOptions->checkBoxShowSpeed,&QCheckBox::stateChanged,this,&Themes::checkBoxShowSpeed_toggled); + connect(uiOptions->speedWithProgressBar,&QCheckBox::stateChanged,this,&Themes::speedWithProgressBar_toggled); + connect(uiOptions->showProgressionInTheTitle,&QCheckBox::stateChanged,this,&Themes::updateTitle); + connect(uiOptions->showDualProgression,&QCheckBox::stateChanged,this,&Themes::showDualProgression_toggled); + connect(uiOptions->progressColorWrite,&QAbstractButton::clicked,this,&Themes::progressColorWrite_clicked); + connect(uiOptions->progressColorRead, &QAbstractButton::clicked,this,&Themes::progressColorRead_clicked); + connect(uiOptions->progressColorRemaining,&QAbstractButton::clicked,this,&Themes::progressColorRemaining_clicked); + connect(uiOptions->alwaysOnTop,&QAbstractButton::clicked,this,&Themes::alwaysOnTop_clickedSlot); + + isInPause(false); + + connect(uiOptions->limitSpeed, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &Themes::uiUpdateSpeed); + connect(uiOptions->checkBox_limitSpeed,&QAbstractButton::toggled, this, &Themes::uiUpdateSpeed); + + connect(ui->actionAddFile,&QAction::triggered,this,&Themes::forcedModeAddFile); + connect(ui->actionAddFileToCopy,&QAction::triggered,this,&Themes::forcedModeAddFileToCopy); + connect(ui->actionAddFileToMove,&QAction::triggered,this,&Themes::forcedModeAddFileToMove); + connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&Themes::forcedModeAddFolderToCopy); + connect(ui->actionAddFolderToMove,&QAction::triggered,this,&Themes::forcedModeAddFolderToMove); + connect(ui->actionAddFolder,&QAction::triggered,this,&Themes::forcedModeAddFolder); + connect(ui->exportErrorToTransferList,&QToolButton::triggered,this,&Themes::exportErrorIntoTransferList); + + //setup the search part + closeTheSearchBox(); + TimerForSearch = new QTimer(this); + TimerForSearch->setInterval(500); + TimerForSearch->setSingleShot(true); + searchShortcut = new QShortcut(QKeySequence(QKeySequence::Find),this); + searchShortcut2 = new QShortcut(QKeySequence(QKeySequence::FindNext),this); + searchShortcut3 = new QShortcut(QKeySequence(Qt::Key_Escape),this); + + //connect the search part + connect(TimerForSearch, &QTimer::timeout, this, &Themes::hilightTheSearchSlot); + connect(searchShortcut, &QShortcut::activated, this, &Themes::searchBoxShortcut); + connect(searchShortcut2, &QShortcut::activated, this, &Themes::on_pushButtonSearchNext_clicked); + connect(ui->pushButtonCloseSearch, &QPushButton::clicked, this, &Themes::closeTheSearchBox); + connect(searchShortcut3, &QShortcut::activated, this, &Themes::closeTheSearchBox); + + //reload directly untranslatable text + newLanguageLoaded(); + + //unpush the more button + ui->moreButton->setChecked(moreButtonPushed); + on_moreButton_toggled(moreButtonPushed); + + /// \note important for drag and drop, \see dropEvent() + setAcceptDrops(true); + + #ifdef SUPERCOPIER + const QString themePath=":/Themes/Supercopier/"; + #else + const QString themePath=":/Themes/Oxygen/"; + #endif + + // try set the OS icon + if(!iconLoaded) + { + iconLoaded=true; + tempExitIcon=QIcon::fromTheme(QStringLiteral("application-exit")); + editDelete=QIcon::fromTheme(QStringLiteral("edit-delete")); + player_pause=QIcon::fromTheme(QStringLiteral("media-playback-pause")); + if(player_pause.isNull()) + player_pause=QIcon(themePath+QStringLiteral("resources/player_pause.png")); + player_play=QIcon::fromTheme(QStringLiteral("media-playback-play")); + if(player_play.isNull()) + player_play=QIcon(themePath+QStringLiteral("resources/player_play.png")); + skinIcon=QIcon::fromTheme(QStringLiteral("media-skip-forward")); + editFind=QIcon::fromTheme(QStringLiteral("edit-find")); + documentOpen=QIcon::fromTheme(QStringLiteral("document-open")); + documentSave=QIcon::fromTheme(QStringLiteral("document-save")); + listAdd=QIcon::fromTheme(QStringLiteral("list-add")); + } + if(!tempExitIcon.isNull()) + { + ui->cancelButton->setIcon(tempExitIcon); + ui->pushButtonCloseSearch->setIcon(tempExitIcon); + ui->shutdown->setIcon(tempExitIcon); + } + if(!editDelete.isNull()) + ui->del->setIcon(editDelete); + if(!player_pause.isNull()) + ui->pauseButton->setIcon(player_pause); + if(!skinIcon.isNull()) + ui->skipButton->setIcon(skinIcon); + if(!editFind.isNull()) + ui->searchButton->setIcon(editFind); + if(!documentOpen.isNull()) + ui->importTransferList->setIcon(documentOpen); + if(!documentSave.isNull()) + { + ui->exportTransferList->setIcon(documentSave); + ui->exportErrorToTransferList->setIcon(documentSave); + } + if(!listAdd.isNull()) + { + ui->add->setIcon(listAdd); + ui->actionAddFile->setIcon(listAdd); + ui->actionAddFileToCopy->setIcon(listAdd); + ui->actionAddFileToMove->setIcon(listAdd); + ui->actionAddFolder->setIcon(listAdd); + ui->actionAddFolderToCopy->setIcon(listAdd); + ui->actionAddFolderToMove->setIcon(listAdd); + } + #ifdef Q_OS_WIN32 + pixmapTop=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Uncaught_Windows.png")); + pixmapBottom=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Caught_Windows.png")); + #else + pixmapTop=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Uncaught_Unix.png")); + pixmapBottom=QPixmap(themePath+QStringLiteral("resources/SystemTrayIcon/systray_Caught_Unix.png")); + #endif + + #ifdef SUPERCOPIER + /*QIcon icon; + icon.addFile(themePath+QStringLiteral("resources/main.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->interfaceCopy->setWindowIcon(icon);*/ + QIcon icon1; + icon1.addFile(themePath+QStringLiteral("resources/add.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->actionAddFile->setIcon(icon1); + QIcon icon2; + icon2.addFile(themePath+QStringLiteral("resources/SystemTrayIcon/exit.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->shutdown->setIcon(icon2); + QIcon icon3; + icon3.addFile(themePath+QStringLiteral("resources/moveDown.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->moreButton->setIcon(icon3); + ui->pushDown->setIcon(icon3); + if(!QFile::exists(themePath+QStringLiteral("resources/moveDown.png"))) + { + qDebug() << "File not found, can't continue: " << themePath+QStringLiteral("resources/moveDown.png"); + abort(); + } + QIcon icon4; + icon4.addFile(themePath+QStringLiteral("resources/player_pause.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->pauseButton->setIcon(icon4); + QIcon icon5; + icon5.addFile(themePath+QStringLiteral("resources/player_end.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->skipButton->setIcon(icon5); + QIcon icon6; + icon6.addFile(themePath+QStringLiteral("resources/cancel.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->cancelButton->setIcon(icon6); + QIcon icon7; + icon7.addFile(themePath+QStringLiteral("resources/putOnTop.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->putOnTop->setIcon(icon7); + QIcon icon8; + icon8.addFile(themePath+QStringLiteral("resources/moveUp.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->pushUp->setIcon(icon8); + QIcon icon9; + icon9.addFile(themePath+QStringLiteral("resources/putOnBottom.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->putOnBottom->setIcon(icon9); + QIcon icon10; + icon10.addFile(themePath+QStringLiteral("resources/remove.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->del->setIcon(icon10); + QIcon icon11; + icon11.addFile(themePath+QStringLiteral("resources/search.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->searchButton->setIcon(icon11); + QIcon icon12; + icon12.addFile(themePath+QStringLiteral("resources/export-transfer-list.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->exportTransferList->setIcon(icon12); + QIcon icon13; + icon13.addFile(themePath+QStringLiteral("resources/import-transfer-list.png"), QSize(), QIcon::Normal, QIcon::Off); + ui->importTransferList->setIcon(icon13); + QIcon icon14; + icon14.addFile(themePath+QStringLiteral("resources/main.png"), QSize(), QIcon::Normal, QIcon::Off); + this->setWindowIcon(icon14); + #endif + + shutdown=facilityEngine->haveFunctionality("shutdown"); + ui->shutdown->setVisible(shutdown); + + selectionModel=ui->TransferList->selectionModel(); + + #ifdef ULTRACOPIER_PLUGIN_DEBUG + connect(&transferModel,&TransferModel::debugInformation,this,&Themes::debugInformation); + #endif + + updateSpeed(); + alwaysOnTop_clicked(false); + /*#ifdef Q_OS_WIN32 + uiOptions->labelAlwaysOnTop->hide(); + uiOptions->alwaysOnTop->hide(); + #endif*/ + #ifdef ULTRACOPIER_VERSION_ULTIMATE + #ifdef SUPERCOPIER + ui->ad_ultimate->setText(tr("%1 is deprecated, Use %2").arg("<span style=\"color:#ee0000\">Super</span><span style=\"color:#0000cc\">Copier</span>").arg("<a href=\"http://ultracopier.first-world.info/\">Ultracopier</a>")); + #else + #ifdef Q_OS_MACOS + ui->ad_ultimate->setText(tr("This will be the last version for Mac, but you can compile from source")); + #else + ui->ad_ultimate->hide(); + #endif + #endif + #else + QString ultimateUrl=QString::fromStdString(facilityEngine->ultimateUrl()); + if(ultimateUrl.isEmpty()) + ui->ad_ultimate->hide(); + else + ui->ad_ultimate->setText( + #ifdef SUPERCOPIER + tr("%1 is deprecated, Use %2").arg("<span style=\"color:#ee0000\">Super</span><span style=\"color:#0000cc\">copier</span>").arg("<a href=\"http://ultracopier.first-world.info/\">Ultracopier</a><br />")+ + #endif + #ifdef Q_OS_MACOS + tr("This will be the last version for Mac, but you can compile from source")+ + #endif + QStringLiteral("<a href=\"%1\">%2</a>").arg(ultimateUrl).arg(tr("Buy the Ultimate version to fund development"))); + #endif + + #ifdef SUPERCOPIER + uiOptions->labelDualProgression->hide(); + uiOptions->showDualProgression->hide(); + ui->progressBar_all->setMaximumHeight(17); + ui->progressBar_file->setMaximumHeight(17); + ui->progressBarCurrentSpeed->setMaximumHeight(17); + ui->progressBar_all->setMinimumHeight(17); + ui->progressBar_file->setMinimumHeight(17); + ui->progressBarCurrentSpeed->setMinimumHeight(17); + ui->progressBar_all->setStyleSheet(QStringLiteral("QProgressBar{color:#fff;font-weight:bold;border:1px solid black;text-align:center;background-image:url(:/Themes/Supercopier/resources/progressbarright.png);}QProgressBar::chunk{background-image: url(:/Themes/Supercopier/resources/progressbarleft.png);}")); + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{color:#fff;font-weight:bold;border:1px solid black;text-align:center;background-image:url(:/Themes/Supercopier/resources/progressbarright.png);}QProgressBar::chunk{background-image: url(:/Themes/Supercopier/resources/progressbarleft.png);}")); + ui->progressBarCurrentSpeed->setStyleSheet(QStringLiteral("QProgressBar{color:#fff;font-weight:bold;border:1px solid black;text-align:center;background-image:url(:/Themes/Supercopier/resources/progressbarright.png);}QProgressBar::chunk{background-image: url(:/Themes/Supercopier/resources/progressbarleft.png);}")); + this->setWindowTitle("Supercopier"); + #endif + + show(); + + sysTrayIcon = new QSystemTrayIcon(this); + connect(sysTrayIcon,&QSystemTrayIcon::activated,this,&Themes::catchAction); +} + +Themes::~Themes() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + //disconnect(ui->actionAddFile); + //disconnect(ui->actionAddFolder); + delete selectionModel; + delete menu; + delete sysTrayIcon; +} + +QWidget * Themes::getOptionsEngineWidget() +{ + return &optionEngineWidget; +} + +void Themes::getOptionsEngineEnabled(const bool &isEnabled) +{ + if(isEnabled) + { + QScrollArea *scrollArea=new QScrollArea(ui->tabWidget); + scrollArea->setWidgetResizable(true); + scrollArea->setWidget(&optionEngineWidget); + ui->tabWidget->addTab(scrollArea,QString::fromStdString(facilityEngine->translateText("Copy engine"))); + } +} + +void Themes::closeEvent(QCloseEvent *event) +{ + event->ignore(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + this->hide(); + if(uiOptions->minimizeToSystray->isChecked()) + { + updateSysTrayIcon(); + sysTrayIcon->show(); + } + else + emit cancel(); +} + +void Themes::updateSysTrayIcon() +{ + if(totalSize==0) + { + sysTrayIcon->setIcon(dynaIcon(0,"-")); + return; + } + quint64 currentNew=currentSize*100; + //update systray icon + quint16 getVarProgression=currentNew/totalSize; + if(getOldProgression!=getVarProgression) + { + getOldProgression=getVarProgression; + sysTrayIcon->setIcon(dynaIcon(getVarProgression)); + } +} + +void Themes::updateOverallInformation() +{ + if(uiOptions->showProgressionInTheTitle->isChecked()) + updateTitle(); + ui->overall->setText(tr("File %1/%2, size: %3/%4") + .arg(currentFile) + .arg(totalFile) + .arg(QString::fromStdString(facilityEngine->sizeToString(currentSize))) + .arg(QString::fromStdString(facilityEngine->sizeToString(totalSize))) + ); +} + +void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"start: "+std::to_string(action)); + this->action=action; + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + ui->progressBar_all->setMaximum(65535); + ui->progressBar_all->setMinimum(0); + break; + case Ultracopier::Listing: + ui->progressBar_all->setMaximum(0); + ui->progressBar_all->setMinimum(0); + break; + case Ultracopier::Idle: + ui->progressBar_all->setMaximum(65535); + ui->progressBar_all->setMinimum(0); + if(haveStarted && transferModel.rowCount()<=0) + { + if(shutdown && ui->shutdown->isChecked()) + { + facilityEngine->callFunctionality("shutdown"); + return; + } + switch(uiOptions->comboBox_copyEnd->currentIndex()) + { + case 2: + emit cancel(); + break; + case 0: + if(!haveError) + emit cancel(); + else + ui->tabWidget->setCurrentWidget(ui->tab_error); + break; + default: + break; + } + stat = status_stopped; + if(durationStarted) + { + Ultracopier::TimeDecomposition time=facilityEngine->secondsToTimeDecomposition( + (std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count()- + duration) + /1000); + ui->labelTimeRemaining->setText(QStringLiteral("<html><body style=\"white-space:nowrap;\">")+ + QString::fromStdString(facilityEngine->translateText("Completed in %1")).arg( + QString::number(time.hour)+QStringLiteral(":")+ + QString::number(time.minute).rightJustified(2,'0')+ + QStringLiteral(":")+ + QString::number(time.second).rightJustified(2,'0') + )+QStringLiteral("</body></html>")); + } + } + break; + default: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"Very wrong switch case!"); + break; + } + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + ui->pauseButton->setEnabled(true); + if(!durationStarted) + { + duration=std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count(); + durationStarted=true; + } + haveStarted=true; + ui->cancelButton->setText(QString::fromStdString(facilityEngine->translateText("Quit"))); + updatePause(); + break; + case Ultracopier::Listing: + ui->pauseButton->setEnabled(false); + haveStarted=true;//to close if skip at root folder collision + break; + case Ultracopier::Idle: + ui->pauseButton->setEnabled(false); + break; + default: + break; + } +} + +void Themes::newFolderListing(const std::string &path) +{ + QString newPath=QString::fromStdString(path); + if(newPath.size()>(64+3)) + newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + if(action==Ultracopier::Listing) + ui->from->setText(newPath); +} + +void Themes::detectedSpeed(const uint64_t &speed)//in byte per seconds +{ + if(uiOptions->speedWithProgressBar->isChecked()) + { + quint64 tempSpeed=speed; + if(tempSpeed>999999999) + tempSpeed=999999999; + if(tempSpeed>(quint64)ui->progressBarCurrentSpeed->maximum()) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"set max speed to: "+std::to_string(tempSpeed)); + ui->progressBarCurrentSpeed->setMaximum(tempSpeed); + } + ui->progressBarCurrentSpeed->setValue(tempSpeed); + ui->progressBarCurrentSpeed->setFormat(QString::fromStdString(facilityEngine->speedToString(speed))); + } + else + ui->currentSpeed->setText(QString::fromStdString(facilityEngine->speedToString(speed))); +} + +void Themes::remainingTime(const int &remainingSeconds) +{ + QString labelTimeRemaining(QStringLiteral( + "<html><body style=\"white-space:nowrap;\">")+ + QString::fromStdString(facilityEngine->translateText("Time remaining:"))+ + QStringLiteral(" ") + ); + if(remainingSeconds==-1) + labelTimeRemaining+=QStringLiteral("∞"); + else + { + Ultracopier::TimeDecomposition time=facilityEngine->secondsToTimeDecomposition(remainingSeconds); + labelTimeRemaining+=QString::number(time.hour)+QStringLiteral(":")+QString::number(time.minute).rightJustified(2,'0')+QStringLiteral(":")+QString::number(time.second).rightJustified(2,'0'); + } + labelTimeRemaining+=QStringLiteral("</body></html>"); + ui->labelTimeRemaining->setText(labelTimeRemaining); +} + +void Themes::errorDetected() +{ + haveError=true; +} + +/// \brief new error +void Themes::errorToRetry(const std::string &source,const std::string &destination,const std::string &error) +{ + ui->errorList->addTopLevelItem(new QTreeWidgetItem(QStringList() + << QString::fromStdString(source) + << QString::fromStdString(destination) + << QString::fromStdString(error) + )); +} + +/** \brief support speed limitation */ +void Themes::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool) +{ + if(!supportSpeedLimitationBool) + { + ui->label_Slider_speed->setVisible(false); + ui->SliderSpeed->setVisible(false); + ui->label_SpeedMaxValue->setVisible(false); + uiOptions->labelShowSpeedAsMain->setVisible(false); + uiOptions->checkBoxShowSpeed->setVisible(false); + } + else + emit newSpeedLimitation(currentSpeed); +} + +//get information about the copy +void Themes::setGeneralProgression(const uint64_t ¤t,const uint64_t &total) +{ + currentSize=current; + totalSize=total; + if(total>0) + { + int newIndicator=((double)current/total)*65535; + ui->progressBar_all->setValue(newIndicator); + } + else + ui->progressBar_all->setValue(0); + if(current>0) + stat = status_started; + updateOverallInformation(); + if(isHidden()) + updateSysTrayIcon(); +} + +void Themes::setFileProgression(const std::vector<Ultracopier::ProgressionItem> &progressionList) +{ + std::vector<Ultracopier::ProgressionItem> progressionListBis=progressionList; + transferModel.setFileProgression(progressionListBis); + updateCurrentFileInformation(); +} + +//edit the transfer list +/// \todo check and re-enable to selection +void Themes::getActionOnList(const std::vector<Ultracopier::ReturnActionOnCopyList> &returnActions) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, returnActions.size(): "+std::to_string(returnActions.size())); + std::vector<uint64_t> returnValue=transferModel.synchronizeItems(returnActions); + totalFile+=returnValue.front(); + totalSize+=returnValue.at(1); + currentFile+=returnValue.back(); + if(transferModel.rowCount()==0) + { + ui->skipButton->setEnabled(false); + ui->progressBar_all->setValue(65535); + ui->progressBar_file->setValue(65535); + currentSize=totalSize; + if(isHidden()) + updateSysTrayIcon(); + } + else + ui->skipButton->setEnabled(true); + updateOverallInformation(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferModel.rowCount(): "+std::to_string(transferModel.rowCount())); +} + +void Themes::setCopyType(const Ultracopier::CopyType &type) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + this->type=type; + updateModeAndType(); +} + +void Themes::forceCopyMode(const Ultracopier::CopyMode &mode) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + modeIsForced=true; + this->mode=mode; + if(mode==Ultracopier::Copy) + ui->tabWidget->setTabText(0,tr("Copy list")); + else + ui->tabWidget->setTabText(0,tr("Move list")); + updateModeAndType(); + updateTitle(); +} + +void Themes::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation) +{ + ui->exportTransferList->setVisible(transferListOperation & Ultracopier::TransferListOperation_Export); + ui->importTransferList->setVisible(transferListOperation & Ultracopier::TransferListOperation_Import); +} + +void Themes::haveExternalOrder() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); +// ui->moreButton->toggle(); +} + +void Themes::isInPause(const bool &isInPause) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"isInPause: "+std::to_string(isInPause)); + //resume in auto the pause + storeIsInPause=isInPause; + updatePause(); +} + +void Themes::updatePause() +{ + if(storeIsInPause) + { + ui->pauseButton->setIcon(player_play); + if(stat == status_started) + ui->pauseButton->setText(QString::fromStdString(facilityEngine->translateText("Resume"))); + else + ui->pauseButton->setText(QString::fromStdString(facilityEngine->translateText("Start"))); + } + else + { + ui->pauseButton->setIcon(player_pause); + ui->pauseButton->setText(QString::fromStdString(facilityEngine->translateText("Pause"))); + } +} + +void Themes::updateCurrentFileInformation() +{ + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(transfertItem.haveItem) + { + QString newPath=QString::fromStdString(transfertItem.from); + if(newPath.size()>(64+3)) + newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32); + ui->from->setText(newPath); + newPath=QString::fromStdString(transfertItem.to); + if(newPath.size()>(64+3)) + newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32); + ui->to->setText(newPath); + ui->current_file->setText(QString::fromStdString(transfertItem.current_file)); + if(transfertItem.progressBar_read!=-1) + { + ui->progressBar_file->setRange(0,65535); + if(uiOptions->showDualProgression->isChecked()) + { + if(transfertItem.progressBar_read!=transfertItem.progressBar_write) + { + float permilleread=round((float)transfertItem.progressBar_read/65535*1000)/1000; + float permillewrite=permilleread-0.001; + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border: 1px solid grey;text-align: center;background-color: qlineargradient(spread:pad, x1:%1, y1:0, x2:%2, y2:0, stop:0 %3, stop:1 %4);}QProgressBar::chunk{background-color:%5;}") + .arg(permilleread) + .arg(permillewrite) + .arg(progressColorRemaining.name()) + .arg(progressColorRead.name()) + .arg(progressColorWrite.name()) + ); + } + else + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + ui->progressBar_file->setValue(transfertItem.progressBar_write); + } + else + ui->progressBar_file->setValue((transfertItem.progressBar_read+transfertItem.progressBar_write)/2); + } + else + ui->progressBar_file->setRange(0,0); + } + else + { + ui->from->setText(QStringLiteral("")); + ui->to->setText(QStringLiteral("")); + ui->current_file->setText(QStringLiteral("-")); + if(haveStarted && transferModel.rowCount()==0) + ui->progressBar_file->setValue(65535); + else if(!haveStarted) + ui->progressBar_file->setValue(0); + } +} + + +void Themes::on_putOnTop_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + selectedItems=selectionModel->selectedRows(); + std::vector<uint64_t> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong()); + index++; + } + if(ids.size()>0) + emit moveItemsOnTop(ids); +} + +void Themes::on_pushUp_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + selectedItems=selectionModel->selectedRows(); + std::vector<uint64_t> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong()); + index++; + } + if(ids.size()>0) + emit moveItemsUp(ids); +} + +void Themes::on_pushDown_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + selectedItems=selectionModel->selectedRows(); + std::vector<uint64_t> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong()); + index++; + } + if(ids.size()>0) + emit moveItemsDown(ids); +} + +void Themes::on_putOnBottom_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + selectedItems=selectionModel->selectedRows(); + std::vector<uint64_t> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong()); + index++; + } + if(ids.size()>0) + emit moveItemsOnBottom(ids); +} + +void Themes::on_del_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + selectedItems=selectionModel->selectedRows(); + std::vector<uint64_t> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids.push_back(transferModel.data(selectedItems.at(index),Qt::UserRole).toULongLong()); + index++; + } + if(ids.size()>0) + emit removeItems(ids); +} + +void Themes::on_cancelButton_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + this->hide(); + emit cancel(); +} + + +void Themes::speedWithProgressBar_toggled(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + ui->progressBarCurrentSpeed->setVisible(checked); + ui->currentSpeed->setVisible(!checked); +} + +void Themes::showDualProgression_toggled(bool checked) +{ + Q_UNUSED(checked); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + updateProgressionColorBar(); +} + +void Themes::checkBoxShowSpeed_toggled(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + Q_UNUSED(checked); + updateSpeed(); +} + +void Themes::on_SliderSpeed_valueChanged(int value) +{ + if(!uiOptions->checkBoxShowSpeed->isChecked()) + return; + switch(value) + { + case 0: + currentSpeed=0; + break; + case 1: + currentSpeed=1024; + break; + case 2: + currentSpeed=1024*4; + break; + case 3: + currentSpeed=1024*16; + break; + case 4: + currentSpeed=1024*64; + break; + case 5: + currentSpeed=1024*128; + break; + } + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"value: "+std::to_string(value)); + emit newSpeedLimitation(currentSpeed); + updateSpeed(); +} + +void Themes::uiUpdateSpeed() +{ + if(uiOptions->checkBoxShowSpeed->isChecked()) + return; + if(!uiOptions->checkBox_limitSpeed->isChecked()) + currentSpeed=0; + else + currentSpeed=uiOptions->limitSpeed->value(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"emit newSpeedLimitation"+std::to_string(currentSpeed)); + emit newSpeedLimitation(currentSpeed); +} + +void Themes::updateSpeed() +{ + ui->label_Slider_speed->setVisible(uiOptions->checkBoxShowSpeed->isChecked()); + ui->SliderSpeed->setVisible(uiOptions->checkBoxShowSpeed->isChecked()); + ui->label_SpeedMaxValue->setVisible(uiOptions->checkBoxShowSpeed->isChecked()); + uiOptions->limitSpeed->setVisible(!uiOptions->checkBoxShowSpeed->isChecked()); + uiOptions->checkBox_limitSpeed->setVisible(!uiOptions->checkBoxShowSpeed->isChecked()); + + if(uiOptions->checkBoxShowSpeed->isChecked()) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"checked, currentSpeed: "+std::to_string(currentSpeed)); + uiOptions->limitSpeed->setEnabled(false); + if(currentSpeed==0) + { + ui->SliderSpeed->setValue(0); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->translateText("Unlimited"))); + } + else if(currentSpeed<=1024) + { + if(currentSpeed!=1024) + { + currentSpeed=1024; + emit newSpeedLimitation(currentSpeed); + } + ui->SliderSpeed->setValue(1); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*1))); + } + else if(currentSpeed<=1024*4) + { + if(currentSpeed!=1024*4) + { + currentSpeed=1024*4; + emit newSpeedLimitation(currentSpeed); + } + ui->SliderSpeed->setValue(2); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*4))); + } + else if(currentSpeed<=1024*16) + { + if(currentSpeed!=1024*16) + { + currentSpeed=1024*16; + emit newSpeedLimitation(currentSpeed); + } + ui->SliderSpeed->setValue(3); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*16))); + } + else if(currentSpeed<=1024*64) + { + if(currentSpeed!=1024*64) + { + currentSpeed=1024*64; + emit newSpeedLimitation(currentSpeed); + } + ui->SliderSpeed->setValue(4); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*64))); + } + else + { + if(currentSpeed!=1024*128) + { + currentSpeed=1024*128; + emit newSpeedLimitation(currentSpeed); + } + ui->SliderSpeed->setValue(5); + ui->label_SpeedMaxValue->setText(QString::fromStdString(facilityEngine->speedToString((double)(1024*1024)*128))); + } + } + else + { + uiOptions->checkBox_limitSpeed->setChecked(currentSpeed>0); + if(currentSpeed>0) + uiOptions->limitSpeed->setValue(currentSpeed); + uiOptions->checkBox_limitSpeed->setEnabled(currentSpeed!=-1); + uiOptions->limitSpeed->setEnabled(uiOptions->checkBox_limitSpeed->isChecked()); + } +} + +void Themes::on_pauseButton_clicked() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + if(storeIsInPause) + emit resume(); + else + emit pause(); +} + +void Themes::on_skipButton_clicked() +{ + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(transfertItem.haveItem) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"skip at running: "+std::to_string(transfertItem.id)); + emit skip(transfertItem.id); + } + else + { + if(transferModel.rowCount()>1) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"skip at idle: "+std::to_string(transferModel.firstId())); + emit skip(transferModel.firstId()); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to skip the transfer, because no transfer running"); + } +} + +void Themes::updateModeAndType() +{ + menu->clear(); + if(modeIsForced) + { + menu->addAction(ui->actionAddFile); + if(type==Ultracopier::FileAndFolder) + menu->addAction(ui->actionAddFolder); + } + else + { + menu->addAction(ui->actionAddFileToCopy); + menu->addAction(ui->actionAddFileToMove); + if(type==Ultracopier::FileAndFolder) + { + menu->addAction(ui->actionAddFolderToCopy); + menu->addAction(ui->actionAddFolderToMove); + } + } +} + +void Themes::forcedModeAddFile() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFile(mode); +} + +void Themes::forcedModeAddFolder() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFolder(mode); +} + +void Themes::forcedModeAddFileToCopy() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFile(Ultracopier::Copy); +} + +void Themes::forcedModeAddFolderToCopy() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFolder(Ultracopier::Copy); +} + +void Themes::forcedModeAddFileToMove() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFile(Ultracopier::Move); +} + +void Themes::forcedModeAddFolderToMove() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFolder(Ultracopier::Move); +} + +void Themes::newLanguageLoaded() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + if(modeIsForced) + forceCopyMode(mode); + ui->retranslateUi(this); + uiOptions->retranslateUi(this); + uiOptions->comboBox_copyEnd->setItemText(0,tr("Don't close if errors are found")); + uiOptions->comboBox_copyEnd->setItemText(1,tr("Never close")); + uiOptions->comboBox_copyEnd->setItemText(2,tr("Always close")); + if(!haveStarted) + ui->current_file->setText(tr("File Name, 0KB")); + else + updateCurrentFileInformation(); + updateOverallInformation(); + updateSpeed(); + if(ui->tabWidget->count()>=4) + ui->tabWidget->setTabText(ui->tabWidget->count()-1, + QString::fromStdString(facilityEngine->translateText("Copy engine"))); + on_moreButton_toggled(ui->moreButton->isChecked()); +} + +void Themes::on_pushButtonCloseSearch_clicked() +{ + closeTheSearchBox(); +} + +//close the search box +void Themes::closeTheSearchBox() +{ + currentIndexSearch = -1; + ui->lineEditSearch->clear(); + ui->lineEditSearch->hide(); + ui->pushButtonSearchPrev->hide(); + ui->pushButtonSearchNext->hide(); + ui->pushButtonCloseSearch->hide(); + ui->searchButton->setChecked(false); + hilightTheSearch(); +} + +//search box shortcut +void Themes::searchBoxShortcut() +{ +/* if(ui->lineEditSearch->isHidden()) + {*/ + ui->lineEditSearch->show(); + ui->pushButtonSearchPrev->show(); + ui->pushButtonSearchNext->show(); + ui->pushButtonCloseSearch->show(); + ui->lineEditSearch->setFocus(Qt::ShortcutFocusReason); + ui->searchButton->setChecked(true); +/* } + else + closeTheSearchBox();*/ +} + +//hilight the search +void Themes::hilightTheSearch(bool searchNext) +{ + int result=transferModel.search(ui->lineEditSearch->text().toStdString(),searchNext); + if(ui->lineEditSearch->text().isEmpty()) + ui->lineEditSearch->setStyleSheet(""); + else + { + if(result==-1) + ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(255, 150, 150);")); + else + { + ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(193,255,176);")); + ui->TransferList->scrollTo(transferModel.index(result,0)); + } + } +} + +void Themes::hilightTheSearchSlot() +{ + hilightTheSearch(); +} + +void Themes::on_pushButtonSearchPrev_clicked() +{ + int result=transferModel.searchPrev(ui->lineEditSearch->text().toStdString()); + if(ui->lineEditSearch->text().isEmpty()) + ui->lineEditSearch->setStyleSheet(""); + else + { + if(result==-1) + ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(255, 150, 150);")); + else + { + ui->lineEditSearch->setStyleSheet(QStringLiteral("background-color: rgb(193,255,176);")); + ui->TransferList->scrollTo(transferModel.index(result,0)); + } + } +} + +void Themes::on_pushButtonSearchNext_clicked() +{ + hilightTheSearch(true); +} + +void Themes::on_lineEditSearch_returnPressed() +{ + hilightTheSearch(); +} + +void Themes::on_lineEditSearch_textChanged(QString text) +{ + if(text=="") + { + TimerForSearch->stop(); + hilightTheSearch(); + } + else + TimerForSearch->start(); +} + +void Themes::on_moreButton_toggled(bool checked) +{ + if(checked) + this->setMaximumHeight(16777215); + else + this->setMaximumHeight(130); + // usefull under windows + this->updateGeometry(); + this->update(); + this->adjustSize(); +} + +/* drag event processing + +need setAcceptDrops(true); into the constructor +need implementation to accept the drop: +void dragEnterEvent(QDragEnterEvent* event); +void dragMoveEvent(QDragMoveEvent* event); +void dragLeaveEvent(QDragLeaveEvent* event); +*/ +void Themes::dropEvent(QDropEvent *event) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + const QMimeData* mimeData = event->mimeData(); + if(mimeData->hasUrls()) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"hasUrls"); + std::vector<std::string> urls; + foreach (QUrl url, mimeData->urls()) + urls.push_back(url.toString().toStdString()); + emit urlDropped(urls); + event->acceptProposedAction(); + } +} + +void Themes::dragEnterEvent(QDragEnterEvent* event) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + // if some actions should not be usable, like move, this code must be adopted + const QMimeData* mimeData = event->mimeData(); + if(mimeData->hasUrls()) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"hasUrls"); + event->acceptProposedAction(); + } +} + +void Themes::dragMoveEvent(QDragMoveEvent* event) +{ + // if some actions should not be usable, like move, this code must be adopted + const QMimeData* mimeData = event->mimeData(); + if(mimeData->hasUrls()) + event->acceptProposedAction(); +} + +void Themes::dragLeaveEvent(QDragLeaveEvent* event) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + event->accept(); +} + +void Themes::on_searchButton_toggled(bool checked) +{ + if(checked) + searchBoxShortcut(); + else + closeTheSearchBox(); +} + +void Themes::on_exportTransferList_clicked() +{ + emit exportTransferList(); +} + +void Themes::on_importTransferList_clicked() +{ + emit importTransferList(); +} + +void Themes::progressColorWrite_clicked() +{ + QColor color=QColorDialog::getColor(progressColorWrite,this,tr("Select a color")); + if(!color.isValid()) + return; + progressColorWrite=color; + QPixmap pixmap(75,20); + pixmap.fill(progressColorWrite); + uiOptions->progressColorWrite->setIcon(pixmap); + updateProgressionColorBar(); +} + +void Themes::progressColorRead_clicked() +{ + QColor color=QColorDialog::getColor(progressColorRead,this,tr("Select a color")); + if(!color.isValid()) + return; + progressColorRead=color; + QPixmap pixmap(75,20); + pixmap.fill(progressColorRead); + uiOptions->progressColorRead->setIcon(pixmap); + updateProgressionColorBar(); +} + +void Themes::progressColorRemaining_clicked() +{ + QColor color=QColorDialog::getColor(progressColorRemaining,this,tr("Select a color")); + if(!color.isValid()) + return; + progressColorRemaining=color; + QPixmap pixmap(75,20); + pixmap.fill(progressColorRemaining); + uiOptions->progressColorRemaining->setIcon(pixmap); + updateProgressionColorBar(); +} + +void Themes::alwaysOnTop_clicked(bool reshow) +{ + Qt::WindowFlags flags = windowFlags(); + #ifdef Q_OS_WIN32 + if(uiOptions->alwaysOnTop->isChecked()) + SetWindowPos((HWND)this->winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); + else + SetWindowPos((HWND)this->winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); + #endif + #ifdef Q_OS_LINUX + if(uiOptions->alwaysOnTop->isChecked()) + flags=flags | Qt::X11BypassWindowManagerHint; + else + flags=flags & ~Qt::X11BypassWindowManagerHint; + #endif + if(uiOptions->alwaysOnTop->isChecked()) + flags=flags | Qt::WindowStaysOnTopHint; + else + flags=flags & ~Qt::WindowStaysOnTopHint; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"uiOptions->alwaysOnTop->isChecked(): "+std::to_string(uiOptions->alwaysOnTop->isChecked())+", flags: "+std::to_string(flags)); + setWindowFlags(flags); + if(reshow) + show(); +} + +void Themes::alwaysOnTop_clickedSlot() +{ + alwaysOnTop_clicked(true); +} + +void Themes::updateProgressionColorBar() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + uiOptions->labelProgressionColor->setVisible(uiOptions->showDualProgression->isChecked()); + uiOptions->frameProgressionColor->setVisible(uiOptions->showDualProgression->isChecked()); + if(!uiOptions->showDualProgression->isChecked()) + { + ui->progressBar_all->setStyleSheet(QStringLiteral("")); + ui->progressBar_file->setStyleSheet(QStringLiteral("")); + ui->progressBarCurrentSpeed->setStyleSheet(QStringLiteral("")); + } + else + { + ui->progressBar_all->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + ui->progressBarCurrentSpeed->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + } + if(stat==status_never_started) + updateCurrentFileInformation(); +} + +void Themes::updateTitle() +{ + if(uiOptions->showProgressionInTheTitle->isChecked() && totalSize>0) + { + if(!modeIsForced) + this->setWindowTitle(tr("%1 %2% of %3").arg(QString::fromStdString(facilityEngine->translateText("Transfer"))).arg((currentSize*100)/totalSize).arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))+QStringLiteral(" - ")+QString::fromStdString(facilityEngine->softwareName())); + else + { + if(mode==Ultracopier::Copy) + this->setWindowTitle(tr("%1 %2% of %3").arg(QString::fromStdString(facilityEngine->translateText("Copy"))).arg((currentSize*100)/totalSize).arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))+QStringLiteral(" - ")+QString::fromStdString(facilityEngine->softwareName())); + else + this->setWindowTitle(tr("%1 %2% of %3").arg(QString::fromStdString(facilityEngine->translateText("Move"))).arg((currentSize*100)/totalSize).arg(QString::fromStdString(facilityEngine->sizeToString(totalSize)))+QStringLiteral(" - ")+QString::fromStdString(facilityEngine->softwareName())); + } + } + else + { + if(!modeIsForced) + this->setWindowTitle(QStringLiteral("%1").arg(QString::fromStdString(facilityEngine->translateText("Transfer")))+QStringLiteral(" - ")+QString::fromStdString(facilityEngine->softwareName())); + else + { + if(mode==Ultracopier::Copy) + this->setWindowTitle(QStringLiteral("%1").arg(QString::fromStdString(facilityEngine->translateText("Copy")))+QStringLiteral(" - ")+QString::fromStdString(facilityEngine->softwareName())); + else + this->setWindowTitle(QStringLiteral("%1").arg(QString::fromStdString(facilityEngine->translateText("Move")))+QStringLiteral(" - ")+QString::fromStdString(facilityEngine->softwareName())); + } + } +} + +/** \brief Create progessive icon + +Do QIcon with top and bottom image mixed and percent writed on it. +The icon it be search in the style path. +Do by mongaulois, remake by alpha_one_x86. +\param percent indique how many percent need be showed, sould be between 0 and 100 +\param text The showed text if needed (optionnal) +\return QIcon of the final image +\note Can be used as it: dynaIcon(75,"...") +*/ +QIcon Themes::dynaIcon(int percent,std::string text) const +{ + #ifdef ULTRACOPIER_PLUGIN_DEBUG + if(pixmapTop.isNull() || pixmapBottom.isNull()) + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,"Error loading the icons"); + #endif + if(percent==-1) + percent=getOldProgression; + if(percent<0) + percent=0; + if(percent>100) + percent=100; + //pixmap avec un fond transparent + #ifdef Q_OS_WIN32 + quint8 imageSize=16; + #else + quint8 imageSize=22; + #endif + QPixmap resultImage(imageSize,imageSize); + resultImage.fill(Qt::transparent); + { + QPainter painter(&resultImage); + #ifndef Q_OS_WIN32 + QFont font(QStringLiteral("Courier New"),9); + font.setBold(true); + font.setKerning(true); + painter.setFont(font); + #endif + #ifdef Q_OS_WIN32 + QFont font(QStringLiteral("Courier New"),8); + font.setBold(true); + font.setKerning(true); + painter.setFont(font); + #endif + + //preprocessing the calcul + quint8 bottomPixel=(percent*imageSize)/100; + quint8 topPixel=imageSize-bottomPixel; + + //top image + if(topPixel>0) + { + QRect target(0, 0, imageSize, topPixel); + QRect source(0, 0, imageSize, topPixel); + painter.drawPixmap(target, pixmapTop, source); + } + + //bottom image + if(bottomPixel>0) + { + QRect target2(0, topPixel, imageSize, bottomPixel); + QRect source2(0, topPixel, imageSize, bottomPixel); + painter.drawPixmap(target2, pixmapBottom, source2); + } + + qint8 textxOffset=0; + qint8 textyOffset=0; + if(text.empty()) + { + if(percent!=100) + text=std::to_string(percent); + else + { + text=":)"; + #ifdef Q_OS_WIN32 + textyOffset-=2; + #else + textyOffset-=1; + #endif + } + } + if(text.size()==1) + { + textxOffset+=3; + #ifdef Q_OS_WIN32 + textxOffset-=1; + #endif + } + else + { + #ifdef Q_OS_WIN32 + textxOffset-=1; + #endif + } + #ifndef Q_OS_WIN32 + textxOffset+=2; + textyOffset+=3; + #endif + painter.setPen(QPen(Qt::black)); + painter.drawText(3+textxOffset,13+textyOffset,QString::fromStdString(text)); + painter.setPen(QPen(Qt::white)); + painter.drawText(2+textxOffset,12+textyOffset,QString::fromStdString(text)); + } + return QIcon(resultImage); +} + +/** \brief For catch an action on the systray icon +\param reason Why it activated +*/ +void Themes::catchAction(QSystemTrayIcon::ActivationReason reason) +{ + if(reason==QSystemTrayIcon::DoubleClick || reason==QSystemTrayIcon::Trigger) + { + sysTrayIcon->hide(); + this->show(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"Double Click detected"); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"reason: "+std::to_string(reason)); +} + +void Themes::on_exportErrorToTransferList_clicked() +{ + emit exportErrorIntoTransferList(); +} diff --git a/plugins/Themes/Oxygen/interface.h b/plugins/Themes/Oxygen/interface.h new file mode 100644 index 0000000..acca141 --- /dev/null +++ b/plugins/Themes/Oxygen/interface.h @@ -0,0 +1,222 @@ +/** \file interface.h +\brief Define the interface +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#ifndef INTERFACE_H +#define INTERFACE_H + +#include <QObject> +#include <QWidget> +#include <QMenu> +#include <QCloseEvent> +#include <QShortcut> +#include <QItemSelectionModel> +#include <QTimer> +#include <QTime> +#include <QSystemTrayIcon> +#include <QPixmap> + +#include "../../../interface/PluginInterface_Themes.h" + +#include "ui_interface.h" +#include "ui_themesOptions.h" +#include "Environment.h" +#include "TransferModel.h" + +// for windows progress bar +#ifndef __GNUC__ +# include <shobjidl.h> +#endif + +namespace Ui { + class interfaceCopy; + class themesOptions; +} + +/// \brief Define the interface +class Themes : public PluginInterface_Themes +{ + Q_OBJECT +public: + Themes(const bool &alwaysOnTop, + const bool &showProgressionInTheTitle, + const QColor &progressColorWrite, + const QColor &progressColorRead, + const QColor &progressColorRemaining, + const bool &showDualProgression, + const quint8 &comboBox_copyEnd, + const bool &speedWithProgressBar, + const qint32 ¤tSpeed, + const bool &checkBoxShowSpeed, + FacilityInterface * facilityEngine, + const bool &moreButtonPushed, + const bool &minimizeToSystray, + const bool &startMinimized); + ~Themes(); + //send information about the copy + /// \brief to set the action in progress + void actionInProgess(const Ultracopier::EngineActionInProgress &); + /// \brief the new folder is listing + void newFolderListing(const std::string &path); + /** \brief show the detected speed + * in byte per seconds */ + void detectedSpeed(const uint64_t &speed); + /** \brief show the remaining time + * time in seconds */ + void remainingTime(const int &remainingSeconds); + /// \brief set the current collision action + void newCollisionAction(const std::string &action); + /// \brief set the current error action + void newErrorAction(const std::string &action); + /// \brief set one error is detected + void errorDetected(); + /// \brief new error + void errorToRetry(const std::string &source,const std::string &destination,const std::string &error); + /** \brief support speed limitation */ + void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool); + //get information about the copy + /// \brief show the general progression + void setGeneralProgression(const uint64_t ¤t,const uint64_t &total); + /// \brief show the file progression + void setFileProgression(const std::vector<Ultracopier::ProgressionItem> &progressionList); + /// \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); + //edit the transfer list + /// \brief get action on the transfer list (add/move/remove) + void getActionOnList(const std::vector<Ultracopier::ReturnActionOnCopyList> &returnActions); + /** \brief set if the order is external (like file manager copy) + * to notify the interface, which can hide add folder/filer button */ + void haveExternalOrder(); + /// \brief set if is in pause + void isInPause(const bool &); + /// \brief get the widget for the copy engine + QWidget * getOptionsEngineWidget(); + /// \brief to set if the copy engine is found + void getOptionsEngineEnabled(const bool &isEnabled); + enum status{status_never_started,status_started,status_stopped}; + status stat; +public slots: + /// \brief set the translate + void newLanguageLoaded(); +private slots: + void on_putOnTop_clicked(); + void on_pushUp_clicked(); + void on_pushDown_clicked(); + void on_putOnBottom_clicked(); + void on_del_clicked(); + void on_cancelButton_clicked(); + void speedWithProgressBar_toggled(bool checked); + void showDualProgression_toggled(bool checked); + void checkBoxShowSpeed_toggled(bool checked); + void on_SliderSpeed_valueChanged(int value); + void on_pauseButton_clicked(); + void on_skipButton_clicked(); + void forcedModeAddFile(); + void forcedModeAddFolder(); + void forcedModeAddFileToCopy(); + void forcedModeAddFolderToCopy(); + void forcedModeAddFileToMove(); + void forcedModeAddFolderToMove(); + void uiUpdateSpeed(); + void on_pushButtonCloseSearch_clicked(); + //close the search box + void closeTheSearchBox(); + //search box shortcut + void searchBoxShortcut(); + //hilight the search + void hilightTheSearch(bool searchNext=false); + void hilightTheSearchSlot(); + //auto connect + void on_pushButtonSearchPrev_clicked(); + void on_pushButtonSearchNext_clicked(); + void on_lineEditSearch_returnPressed(); + void on_lineEditSearch_textChanged(QString text); + void on_moreButton_toggled(bool checked); + void on_searchButton_toggled(bool checked); + void on_exportTransferList_clicked(); + void on_importTransferList_clicked(); + void progressColorWrite_clicked(); + void progressColorRead_clicked(); + void progressColorRemaining_clicked(); + void alwaysOnTop_clicked(bool reshow); + void alwaysOnTop_clickedSlot(); + void updateProgressionColorBar(); + void updateTitle(); + void catchAction(QSystemTrayIcon::ActivationReason reason); + void on_exportErrorToTransferList_clicked(); +private: + uint64_t duration; + bool durationStarted; + QPixmap pixmapTop,pixmapBottom; + QColor progressColorWrite,progressColorRead,progressColorRemaining; + Ui::interfaceCopy *ui; + Ui::themesOptions *uiOptions; + uint64_t currentFile; + uint64_t totalFile; + uint64_t currentSize; + uint64_t totalSize; + uint8_t getOldProgression; + QSystemTrayIcon *sysTrayIcon; + void updateOverallInformation(); + void updateCurrentFileInformation(); + QMenu *menu; + Ultracopier::EngineActionInProgress action; + void closeEvent(QCloseEvent *event); + int32_t currentSpeed;///< in KB/s, assume as 0KB/s as default like every where + void updateSpeed(); + bool storeIsInPause; + bool modeIsForced; + Ultracopier::CopyType type; + Ultracopier::CopyMode mode; + void updateModeAndType(); + bool haveStarted; + bool haveError; + QWidget optionEngineWidget; + QShortcut *searchShortcut; + QShortcut *searchShortcut2; + QShortcut *searchShortcut3; + QTimer *TimerForSearch; + int currentIndexSearch; ///< Current index search in starting at the end + FacilityInterface * facilityEngine; + QItemSelectionModel *selectionModel; + QModelIndexList selectedItems; + /// \brief the custom transfer model + TransferModel transferModel; + + static QIcon player_play,player_pause,tempExitIcon,editDelete,skinIcon,editFind,documentOpen,documentSave,listAdd; + static bool iconLoaded; + + /** \brief drag event processing + + need setAcceptDrops(true); into the constructor + need implementation to accept the drop: + void dragEnterEvent(QDragEnterEvent* event); + void dragMoveEvent(QDragMoveEvent* event); + void dragLeaveEvent(QDragLeaveEvent* event); + */ + void dropEvent(QDropEvent *event); + /** \brief accept all event to allow the drag and drop + \see dropEvent() */ + void dragEnterEvent(QDragEnterEvent* event); + /** \brief accept all event to allow the drag and drop + \see dropEvent() */ + void dragMoveEvent(QDragMoveEvent* event); + /** \brief accept all event to allow the drag and drop + \see dropEvent() */ + void dragLeaveEvent(QDragLeaveEvent* event); + //have functionality + bool shutdown; + void updatePause(); + QIcon dynaIcon(int percent,std::string text="") const; + void updateSysTrayIcon(); +signals: + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const std::string &fonction,const std::string &text,const std::string &file,const int &ligne) const; +}; + +#endif // INTERFACE_H diff --git a/plugins/Themes/Oxygen/interface.pro b/plugins/Themes/Oxygen/interface.pro new file mode 100644 index 0000000..9b4923d --- /dev/null +++ b/plugins/Themes/Oxygen/interface.pro @@ -0,0 +1,8 @@ +include($$PWD/../Oxygen/interfaceInclude.pri) + +!CONFIG(static) { +RESOURCES += \ + $$PWD/../Oxygen/interfaceResources.qrc \ + $$PWD/../Oxygen/interfaceResources_unix.qrc \ + $$PWD/../Oxygen/interfaceResources_windows.qrc +} diff --git a/plugins/Themes/Oxygen/interface.ui b/plugins/Themes/Oxygen/interface.ui new file mode 100644 index 0000000..ef07b17 --- /dev/null +++ b/plugins/Themes/Oxygen/interface.ui @@ -0,0 +1,848 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>interfaceCopy</class> + <widget class="QWidget" name="interfaceCopy"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>508</width> + <height>448</height> + </rect> + </property> + <property name="windowTitle"> + <string notr="true">Ultracopier</string> + </property> + <property name="windowIcon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/main.png</normaloff>:/Themes/Oxygen/resources/main.png</iconset> + </property> + <layout class="QVBoxLayout"> + <property name="spacing"> + <number>2</number> + </property> + <property name="margin"> + <number>1</number> + </property> + <item> + <layout class="QHBoxLayout"> + <property name="spacing"> + <number>2</number> + </property> + <item> + <widget class="QLabel" name="from_label"> + <property name="text"> + <string>From:</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="from"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string/> + </property> + <property name="textFormat"> + <enum>Qt::PlainText</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout"> + <property name="spacing"> + <number>5</number> + </property> + <item> + <widget class="QLabel" name="to_label"> + <property name="text"> + <string>To:</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="to"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string/> + </property> + <property name="textFormat"> + <enum>Qt::PlainText</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLabel" name="overall"> + <property name="text"> + <string notr="true">File 0/0, Total: 0KB</string> + </property> + <property name="textFormat"> + <enum>Qt::PlainText</enum> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="labelTimeRemaining"> + <property name="textFormat"> + <enum>Qt::RichText</enum> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="shutdown"> + <property name="maximumSize"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + <property name="toolTip"> + <string>Close on transfer completion</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/SystemTrayIcon/exit.png</normaloff>:/Themes/Oxygen/resources/SystemTrayIcon/exit.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QProgressBar" name="progressBar_all"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>16</height> + </size> + </property> + <property name="maximum"> + <number>65535</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="current_file"> + <property name="text"> + <string notr="true">File Name, 0KB</string> + </property> + <property name="textFormat"> + <enum>Qt::PlainText</enum> + </property> + </widget> + </item> + <item> + <widget class="QProgressBar" name="progressBar_file"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>16</height> + </size> + </property> + <property name="maximum"> + <number>65535</number> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="ad_ultimate"> + <property name="textFormat"> + <enum>Qt::RichText</enum> + </property> + <property name="openExternalLinks"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout"> + <property name="spacing"> + <number>4</number> + </property> + <item> + <widget class="QLabel" name="currentSpeed"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>60</width> + <height>0</height> + </size> + </property> + <property name="text"> + <string notr="true">0KB/sec</string> + </property> + </widget> + </item> + <item> + <widget class="QProgressBar" name="progressBarCurrentSpeed"> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>16</height> + </size> + </property> + <property name="maximum"> + <number>1</number> + </property> + <property name="value"> + <number>0</number> + </property> + <property name="format"> + <string notr="true">0KB/sec</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="moreButton"> + <property name="text"> + <string>&More</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/moveDown.png</normaloff>:/Themes/Oxygen/resources/moveDown.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pauseButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>&Pause</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/player_pause.png</normaloff>:/Themes/Oxygen/resources/player_pause.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="skipButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>&Skip</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/player_end.png</normaloff>:/Themes/Oxygen/resources/player_end.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="cancelButton"> + <property name="text"> + <string>&Cancel</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/cancel.png</normaloff>:/Themes/Oxygen/resources/cancel.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="limitSpeedAsMain"> + <item> + <widget class="QLabel" name="label_Slider_speed"> + <property name="text"> + <string>Limit copy speed to:</string> + </property> + </widget> + </item> + <item> + <widget class="QSlider" name="SliderSpeed"> + <property name="maximum"> + <number>5</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_SpeedMaxValue"> + <property name="text"> + <string notr="true">Unlimited</string> + </property> + </widget> + </item> + <item> + <spacer> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>1</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="tab_main"> + <attribute name="title"> + <string>Transfer list</string> + </attribute> + <layout class="QHBoxLayout"> + <item> + <layout class="QVBoxLayout"> + <property name="spacing"> + <number>1</number> + </property> + <item> + <widget class="QToolButton" name="putOnTop"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Move the selected items to the top</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/putOnTop.png</normaloff>:/Themes/Oxygen/resources/putOnTop.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="pushUp"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Move up the selected items</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/moveUp.png</normaloff>:/Themes/Oxygen/resources/moveUp.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="pushDown"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Move down the selected items</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/moveDown.png</normaloff>:/Themes/Oxygen/resources/moveDown.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="putOnBottom"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Move the selected items to the bottom</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/putOnBottom.png</normaloff>:/Themes/Oxygen/resources/putOnBottom.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="add"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Add file/folder</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="popupMode"> + <enum>QToolButton::InstantPopup</enum> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="del"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Delete the selected items</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/remove.png</normaloff>:/Themes/Oxygen/resources/remove.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="searchButton"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Search</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/search.png</normaloff>:/Themes/Oxygen/resources/search.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="exportTransferList"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Export the transfer list</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/export-transfer-list.png</normaloff>:/Themes/Oxygen/resources/export-transfer-list.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="importTransferList"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Import the transfer list</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/import-transfer-list.png</normaloff>:/Themes/Oxygen/resources/import-transfer-list.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <property name="spacing"> + <number>0</number> + </property> + <item> + <widget class="QTreeView" name="TransferList"> + <property name="selectionMode"> + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="uniformRowHeights"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutSearch"> + <property name="spacing"> + <number>0</number> + </property> + <item> + <widget class="QLineEdit" name="lineEditSearch"/> + </item> + <item> + <widget class="QPushButton" name="pushButtonSearchPrev"> + <property name="text"> + <string>Previous</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButtonSearchNext"> + <property name="text"> + <string>Next</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="pushButtonCloseSearch"> + <property name="minimumSize"> + <size> + <width>25</width> + <height>25</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>25</width> + <height>25</height> + </size> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/remove.png</normaloff>:/Themes/Oxygen/resources/remove.png</iconset> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_error"> + <attribute name="title"> + <string>Error</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QToolButton" name="exportErrorToTransferList"> + <property name="minimumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>22</width> + <height>22</height> + </size> + </property> + <property name="toolTip"> + <string>Export the errors into transfer list</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/export-transfer-list.png</normaloff>:/Themes/Oxygen/resources/export-transfer-list.png</iconset> + </property> + <property name="autoRaise"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QTreeWidget" name="errorList"> + <property name="selectionMode"> + <enum>QAbstractItemView::NoSelection</enum> + </property> + <property name="rootIsDecorated"> + <bool>false</bool> + </property> + <property name="uniformRowHeights"> + <bool>true</bool> + </property> + <column> + <property name="text"> + <string>Source</string> + </property> + </column> + <column> + <property name="text"> + <string>Destination</string> + </property> + </column> + <column> + <property name="text"> + <string>Error</string> + </property> + </column> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_interface"> + <attribute name="title"> + <string>Interface</string> + </attribute> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="spacing"> + <number>0</number> + </property> + <property name="margin"> + <number>0</number> + </property> + <item> + <widget class="QScrollArea" name="optionsTab"> + <property name="widgetResizable"> + <bool>true</bool> + </property> + <widget class="QWidget" name="scrollAreaWidgetContents"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>492</width> + <height>227</height> + </rect> + </property> + </widget> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + <action name="actionAddFile"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="text"> + <string>Add file</string> + </property> + </action> + <action name="actionAddFolder"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="text"> + <string>Add folder</string> + </property> + </action> + <action name="actionAddFileToMove"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="text"> + <string>Move file(s)</string> + </property> + </action> + <action name="actionAddFolderToMove"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="text"> + <string>Move folder</string> + </property> + </action> + <action name="actionAddFileToCopy"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="text"> + <string>Copy file(s)</string> + </property> + </action> + <action name="actionAddFolderToCopy"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Oxygen/resources/add.png</normaloff>:/Themes/Oxygen/resources/add.png</iconset> + </property> + <property name="text"> + <string>Copy folder</string> + </property> + </action> + </widget> + <resources> + <include location="interfaceResources.qrc"/> + </resources> + <connections> + <connection> + <sender>moreButton</sender> + <signal>toggled(bool)</signal> + <receiver>tabWidget</receiver> + <slot>setVisible(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>218</x> + <y>144</y> + </hint> + <hint type="destinationlabel"> + <x>149</x> + <y>305</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/plugins/Themes/Oxygen/interfaceInclude.pri b/plugins/Themes/Oxygen/interfaceInclude.pri new file mode 100644 index 0000000..5f7317b --- /dev/null +++ b/plugins/Themes/Oxygen/interfaceInclude.pri @@ -0,0 +1,51 @@ +CONFIG += c++11 +QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra" +mac:QMAKE_CXXFLAGS+="-stdlib=libc++" + +QT += widgets +TEMPLATE = lib +CONFIG += plugin +HEADERS = \ + $$PWD/ThemesFactory.h \ + $$PWD/StructEnumDefinition.h \ + $$PWD/DebugEngineMacro.h \ + $$PWD/Environment.h \ + $$PWD/Variable.h \ + $$PWD/../../../interface/PluginInterface_Themes.h \ + $$PWD/../../../interface/FacilityInterface.h \ + $$PWD/../../../interface/OptionInterface.h \ + $$PWD/../../../cpp11addition.h \ + $$PWD/TransferModel.h \ + $$PWD/interface.h +SOURCES = \ + $$PWD/ThemesFactory.cpp \ + $$PWD/TransferModel.cpp \ + $$PWD/interface.cpp \ + $$PWD/../../../cpp11addition.cpp \ + $$PWD/../../../cpp11additionstringtointcpp.cpp +TARGET = $$qtLibraryTarget(interface) +TRANSLATIONS += \ + $$PWD/Languages/ar/translation.ts \ + $$PWD/Languages/de/translation.ts \ + $$PWD/Languages/el/translation.ts \ + $$PWD/Languages/en/translation.ts \ + $$PWD/Languages/es/translation.ts \ + $$PWD/Languages/fr/translation.ts \ + $$PWD/Languages/hi/translation.ts \ + $$PWD/Languages/hu/translation.ts \ + $$PWD/Languages/id/translation.ts \ + $$PWD/Languages/it/translation.ts \ + $$PWD/Languages/ja/translation.ts \ + $$PWD/Languages/ko/translation.ts \ + $$PWD/Languages/nl/translation.ts \ + $$PWD/Languages/no/translation.ts \ + $$PWD/Languages/pl/translation.ts \ + $$PWD/Languages/pt/translation.ts \ + $$PWD/Languages/ru/translation.ts \ + $$PWD/Languages/th/translation.ts \ + $$PWD/Languages/tr/translation.ts \ + $$PWD/Languages/zh/translation.ts + +FORMS += \ + $$PWD/interface.ui \ + $$PWD/themesOptions.ui diff --git a/plugins/Themes/Oxygen/interfaceResources.qrc b/plugins/Themes/Oxygen/interfaceResources.qrc new file mode 100644 index 0000000..60060b3 --- /dev/null +++ b/plugins/Themes/Oxygen/interfaceResources.qrc @@ -0,0 +1,22 @@ +<RCC> + <qresource prefix="/Themes/Oxygen"> + <file>resources/add.png</file> + <file>resources/cancel.png</file> + <file>resources/main.png</file> + <file>resources/moveDown.png</file> + <file>resources/moveUp.png</file> + <file>resources/player_end.png</file> + <file>resources/player_pause.png</file> + <file>resources/player_play.png</file> + <file>resources/putOnBottom.png</file> + <file>resources/putOnTop.png</file> + <file>resources/remove.png</file> + <file>resources/search.png</file> + <file>resources/export-transfer-list.png</file> + <file>resources/import-transfer-list.png</file> + <file>resources/SystemTrayIcon/add.png</file> + <file>resources/SystemTrayIcon/exit.png</file> + <file>resources/SystemTrayIcon/informations.png</file> + <file>resources/SystemTrayIcon/options.png</file> + </qresource> +</RCC> diff --git a/plugins/Themes/Oxygen/interfaceResources_unix.qrc b/plugins/Themes/Oxygen/interfaceResources_unix.qrc new file mode 100644 index 0000000..27fb1d2 --- /dev/null +++ b/plugins/Themes/Oxygen/interfaceResources_unix.qrc @@ -0,0 +1,7 @@ +<RCC> + <qresource prefix="/Themes/Oxygen"> + <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Semiuncaught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Uncaught_Unix.png</file> + </qresource> +</RCC> diff --git a/plugins/Themes/Oxygen/interfaceResources_windows.qrc b/plugins/Themes/Oxygen/interfaceResources_windows.qrc new file mode 100644 index 0000000..f917ac3 --- /dev/null +++ b/plugins/Themes/Oxygen/interfaceResources_windows.qrc @@ -0,0 +1,7 @@ +<RCC> + <qresource prefix="/Themes/Oxygen"> + <file>resources/SystemTrayIcon/systray_Caught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Semiuncaught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Uncaught_Windows.png</file> + </qresource> +</RCC> diff --git a/plugins/Themes/Oxygen/options.ui b/plugins/Themes/Oxygen/options.ui new file mode 100644 index 0000000..96e4efa --- /dev/null +++ b/plugins/Themes/Oxygen/options.ui @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>options</class> + <widget class="QWidget" name="options"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>515</width> + <height>251</height> + </rect> + </property> + <layout class="QGridLayout" name="gridLayout"> + <item row="4" column="2"> + <widget class="QFrame" name="frameProgressionColor"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QPushButton" name="progressColorWrite"> + <property name="minimumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="progressColorRead"> + <property name="minimumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="progressColorRemaining"> + <property name="minimumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="labelProgressionColor"> + <property name="text"> + <string>Progression color</string> + </property> + </widget> + </item> + <item row="7" column="2"> + <widget class="QLabel" name="label_SpeedMaxValue"> + <property name="text"> + <string notr="true">Unlimited</string> + </property> + </widget> + </item> + <item row="8" column="0"> + <widget class="QCheckBox" name="checkBox_limitSpeed"> + <property name="text"> + <string>Limit copy speed at:</string> + </property> + </widget> + </item> + <item row="8" column="1"> + <widget class="QSpinBox" name="limitSpeed"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="suffix"> + <string> KB/s</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>999999</number> + </property> + </widget> + </item> + <item row="2" column="0" colspan="2"> + <widget class="QLabel" name="labelSpeedWithProgressBar"> + <property name="text"> + <string>Speed with progress bar</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>122</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item row="9" column="0"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item row="5" column="2"> + <widget class="QComboBox" name="comboBox_copyEnd"> + <item> + <property name="text"> + <string notr="true">Don't close if errors are found</string> + </property> + </item> + <item> + <property name="text"> + <string notr="true">Never close</string> + </property> + </item> + <item> + <property name="text"> + <string notr="true">Always close</string> + </property> + </item> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>At the end of the copy: </string> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QCheckBox" name="showDualProgression"/> + </item> + <item row="7" column="0"> + <widget class="QLabel" name="label_Slider_speed"> + <property name="text"> + <string>Limit copy speed at:</string> + </property> + </widget> + </item> + <item row="1" column="0" colspan="2"> + <widget class="QLabel" name="labelStartWithMoreButtonPushed"> + <property name="text"> + <string>Start with the "more button" pushed</string> + </property> + </widget> + </item> + <item row="7" column="1"> + <widget class="QSlider" name="SliderSpeed"> + <property name="maximum"> + <number>5</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item row="3" column="0" colspan="2"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Show dual progression</string> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QCheckBox" name="checkBoxStartWithMoreButtonPushed"/> + </item> + <item row="2" column="2"> + <widget class="QCheckBox" name="speedWithProgressBar"/> + </item> + <item row="0" column="0" colspan="2"> + <widget class="QLabel" name="labelShowSpeedAsMain"> + <property name="text"> + <string>Show speed as main information</string> + </property> + </widget> + </item> + <item row="0" column="2"> + <widget class="QCheckBox" name="checkBoxShowSpeed"/> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>checkBox_limitSpeed</sender> + <signal>clicked(bool)</signal> + <receiver>limitSpeed</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>109</x> + <y>144</y> + </hint> + <hint type="destinationlabel"> + <x>199</x> + <y>144</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/plugins/Themes/Oxygen/plugin.json b/plugins/Themes/Oxygen/plugin.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/plugins/Themes/Oxygen/plugin.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png Binary files differnew file mode 100644 index 0000000..7932127 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/add.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png Binary files differnew file mode 100644 index 0000000..ae3c4e8 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/exit.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png Binary files differnew file mode 100644 index 0000000..5b7b255 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/informations.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png Binary files differnew file mode 100644 index 0000000..23ec531 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/options.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png Binary files differnew file mode 100644 index 0000000..6f5d1cf --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Unix.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png Binary files differnew file mode 100644 index 0000000..5464856 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Caught_Windows.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png Binary files differnew file mode 100644 index 0000000..b2bb2e3 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png Binary files differnew file mode 100644 index 0000000..0abeb5f --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png Binary files differnew file mode 100644 index 0000000..5e313b9 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Unix.png diff --git a/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png Binary files differnew file mode 100644 index 0000000..828e7e6 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/SystemTrayIcon/systray_Uncaught_Windows.png diff --git a/plugins/Themes/Oxygen/resources/add.png b/plugins/Themes/Oxygen/resources/add.png Binary files differnew file mode 100644 index 0000000..7932127 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/add.png diff --git a/plugins/Themes/Oxygen/resources/cancel.png b/plugins/Themes/Oxygen/resources/cancel.png Binary files differnew file mode 100644 index 0000000..ae3c4e8 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/cancel.png diff --git a/plugins/Themes/Oxygen/resources/export-transfer-list.png b/plugins/Themes/Oxygen/resources/export-transfer-list.png Binary files differnew file mode 100644 index 0000000..3a0aac6 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/export-transfer-list.png diff --git a/plugins/Themes/Oxygen/resources/import-transfer-list.png b/plugins/Themes/Oxygen/resources/import-transfer-list.png Binary files differnew file mode 100644 index 0000000..ee47f0d --- /dev/null +++ b/plugins/Themes/Oxygen/resources/import-transfer-list.png diff --git a/plugins/Themes/Oxygen/resources/main.png b/plugins/Themes/Oxygen/resources/main.png Binary files differnew file mode 100644 index 0000000..5464856 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/main.png diff --git a/plugins/Themes/Oxygen/resources/moveDown.png b/plugins/Themes/Oxygen/resources/moveDown.png Binary files differnew file mode 100644 index 0000000..82a312c --- /dev/null +++ b/plugins/Themes/Oxygen/resources/moveDown.png diff --git a/plugins/Themes/Oxygen/resources/moveUp.png b/plugins/Themes/Oxygen/resources/moveUp.png Binary files differnew file mode 100644 index 0000000..7f7ba72 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/moveUp.png diff --git a/plugins/Themes/Oxygen/resources/player_end.png b/plugins/Themes/Oxygen/resources/player_end.png Binary files differnew file mode 100644 index 0000000..18982db --- /dev/null +++ b/plugins/Themes/Oxygen/resources/player_end.png diff --git a/plugins/Themes/Oxygen/resources/player_pause.png b/plugins/Themes/Oxygen/resources/player_pause.png Binary files differnew file mode 100644 index 0000000..68ee21f --- /dev/null +++ b/plugins/Themes/Oxygen/resources/player_pause.png diff --git a/plugins/Themes/Oxygen/resources/player_play.png b/plugins/Themes/Oxygen/resources/player_play.png Binary files differnew file mode 100644 index 0000000..a1c5b83 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/player_play.png diff --git a/plugins/Themes/Oxygen/resources/putOnBottom.png b/plugins/Themes/Oxygen/resources/putOnBottom.png Binary files differnew file mode 100644 index 0000000..512286e --- /dev/null +++ b/plugins/Themes/Oxygen/resources/putOnBottom.png diff --git a/plugins/Themes/Oxygen/resources/putOnTop.png b/plugins/Themes/Oxygen/resources/putOnTop.png Binary files differnew file mode 100644 index 0000000..30fe96b --- /dev/null +++ b/plugins/Themes/Oxygen/resources/putOnTop.png diff --git a/plugins/Themes/Oxygen/resources/remove.png b/plugins/Themes/Oxygen/resources/remove.png Binary files differnew file mode 100644 index 0000000..b711740 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/remove.png diff --git a/plugins/Themes/Oxygen/resources/search.png b/plugins/Themes/Oxygen/resources/search.png Binary files differnew file mode 100644 index 0000000..cef1836 --- /dev/null +++ b/plugins/Themes/Oxygen/resources/search.png diff --git a/plugins/Themes/Oxygen/themesOptions.ui b/plugins/Themes/Oxygen/themesOptions.ui new file mode 100644 index 0000000..b3ac73b --- /dev/null +++ b/plugins/Themes/Oxygen/themesOptions.ui @@ -0,0 +1,426 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>themesOptions</class> + <widget class="QWidget" name="themesOptions"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>519</width> + <height>389</height> + </rect> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QToolBox" name="toolBox"> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="page"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>509</width> + <height>292</height> + </rect> + </property> + <attribute name="label"> + <string>Use</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QLabel" name="labelStartWithMoreButtonPushed"> + <property name="text"> + <string>Start with the "more button" pushed</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="checkBoxStartWithMoreButtonPushed"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="labelAlwaysOnTop"> + <property name="text"> + <string>Always on top</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Minimize on close to systray</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QCheckBox" name="minimizeToSystray"/> + </item> + <item row="4" column="1" colspan="2"> + <widget class="QComboBox" name="comboBox_copyEnd"> + <item> + <property name="text"> + <string notr="true">Don't close if errors are found</string> + </property> + </item> + <item> + <property name="text"> + <string notr="true">Never close</string> + </property> + </item> + <item> + <property name="text"> + <string notr="true">Always close</string> + </property> + </item> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>At the end of the copy</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="label_Slider_speed"> + <property name="text"> + <string>Limit copy speed to</string> + </property> + </widget> + </item> + <item row="5" column="1" colspan="2"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QSlider" name="SliderSpeed"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximum"> + <number>5</number> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_SpeedMaxValue"> + <property name="text"> + <string notr="true">Unlimited</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="6" column="0"> + <widget class="QCheckBox" name="checkBox_limitSpeed"> + <property name="text"> + <string>Limit copy speed to</string> + </property> + </widget> + </item> + <item row="6" column="1" colspan="2"> + <widget class="QSpinBox" name="limitSpeed"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="suffix"> + <string> KB/s</string> + </property> + <property name="minimum"> + <number>1</number> + </property> + <property name="maximum"> + <number>999999</number> + </property> + </widget> + </item> + <item row="7" column="2"> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>133</height> + </size> + </property> + </spacer> + </item> + <item row="1" column="1" colspan="2"> + <widget class="QCheckBox" name="alwaysOnTop"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_startMinimized"> + <property name="text"> + <string>Start minimized</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QCheckBox" name="startMinimized"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_2"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>509</width> + <height>292</height> + </rect> + </property> + <attribute name="label"> + <string>Informations</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="labelShowSpeedAsMain"> + <property name="text"> + <string>Show speed as main information</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="checkBoxShowSpeed"/> + </item> + <item row="1" column="2"> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>529</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_3"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>509</width> + <height>292</height> + </rect> + </property> + <attribute name="label"> + <string>Display</string> + </attribute> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" column="0"> + <widget class="QLabel" name="labelSpeedWithProgressBar"> + <property name="text"> + <string>Speed with progress bar</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QCheckBox" name="speedWithProgressBar"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="labelDualProgression"> + <property name="text"> + <string>Show dual progression</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QCheckBox" name="showDualProgression"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Show progression in the title</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QCheckBox" name="showProgressionInTheTitle"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="labelProgressionColor"> + <property name="text"> + <string>Progression color</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QFrame" name="frameProgressionColor"> + <property name="minimumSize"> + <size> + <width>225</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>225</width> + <height>20</height> + </size> + </property> + <property name="toolTip"> + <string>Click to edit the color</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QPushButton" name="progressColorWrite"> + <property name="minimumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="progressColorRead"> + <property name="minimumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="progressColorRemaining"> + <property name="minimumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="iconSize"> + <size> + <width>75</width> + <height>20</height> + </size> + </property> + <property name="flat"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item row="4" column="0"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>455</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>checkBox_limitSpeed</sender> + <signal>clicked(bool)</signal> + <receiver>limitSpeed</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>109</x> + <y>144</y> + </hint> + <hint type="destinationlabel"> + <x>199</x> + <y>144</y> + </hint> + </hints> + </connection> + </connections> +</ui> |