diff options
Diffstat (limited to 'plugins-alternative/Themes')
207 files changed, 16833 insertions, 1655 deletions
diff --git a/plugins-alternative/Themes/Clean/Languages/ar/translation.ts b/plugins-alternative/Themes/Clean/Languages/ar/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/ar/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/ar/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/de/translation.ts b/plugins-alternative/Themes/Clean/Languages/de/translation.ts index 7ea1972..0a833ee 100644 --- a/plugins-alternative/Themes/Clean/Languages/de/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/de/translation.ts @@ -4,9 +4,9 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> - <translation>%1/%2 dateien, %3/%4</translation> + <translation>%1/%2 Dateien, %3/%4</translation> </message> </context> <context> @@ -18,8 +18,8 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> - <translation>auf der Lauer</translation> + <source>Waiting</source> + <translation>Warten</translation> </message> <message> <location filename="../../interface.ui" line="78"/> @@ -34,22 +34,22 @@ <message> <location filename="../../interface.ui" line="96"/> <source>Move file(s)</source> - <translation>Bewegen Sie Datei (en)</translation> + <translation>Datei (en) verschieben</translation> </message> <message> <location filename="../../interface.ui" line="105"/> <source>Move folder</source> - <translation>bewegen Sie Ordner</translation> + <translation>Ordner verschieben</translation> </message> <message> <location filename="../../interface.ui" line="114"/> <source>Copy file(s)</source> - <translation>Kopieren Sie die Datei (en)</translation> + <translation>Datei (en) kopieren</translation> </message> <message> <location filename="../../interface.ui" line="123"/> <source>Copy folder</source> - <translation>kopieren Sie das Verzeichnis</translation> + <translation>Ordner kopieren</translation> </message> </context> </TS> diff --git a/plugins-alternative/Themes/Clean/Languages/el/translation.ts b/plugins-alternative/Themes/Clean/Languages/el/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/el/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/el/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/en/translation.ts b/plugins-alternative/Themes/Clean/Languages/en/translation.ts new file mode 100644 index 0000000..d13892c --- /dev/null +++ b/plugins-alternative/Themes/Clean/Languages/en/translation.ts @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="en"> +<context> + <name>InterfacePlugin</name> + <message> + <location filename="../../interface.cpp" line="142"/> + <source>%1/%2 files, %3/%4</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="32"/> + <source>Action:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="44"/> + <source>Waiting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="78"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="87"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="96"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="105"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="114"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="123"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Clean/Languages/es/translation.ts b/plugins-alternative/Themes/Clean/Languages/es/translation.ts index 70b8246..8c54e8a 100644 --- a/plugins-alternative/Themes/Clean/Languages/es/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/es/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation>%1/%2 archivos, %3/%4</translation> </message> @@ -17,9 +17,13 @@ <translation>Acción:</translation> </message> <message> - <location filename="../../interface.ui" line="44"/> <source>In wait</source> - <translation>En espera</translation> + <translation type="obsolete">En espera</translation> + </message> + <message> + <location filename="../../interface.ui" line="44"/> + <source>Waiting</source> + <translation type="unfinished"></translation> </message> <message> <location filename="../../interface.ui" line="78"/> diff --git a/plugins-alternative/Themes/Clean/Languages/fr/translation.ts b/plugins-alternative/Themes/Clean/Languages/fr/translation.ts index 51fd57f..bdc0621 100644 --- a/plugins-alternative/Themes/Clean/Languages/fr/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/fr/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation>%1/%2 fichiers, %3/%4</translation> </message> @@ -17,9 +17,8 @@ <translation>Action:</translation> </message> <message> - <location filename="../../interface.ui" line="44"/> <source>In wait</source> - <translation>En attente</translation> + <translation type="obsolete">En attente</translation> </message> <message> <location filename="../../interface.ui" line="96"/> @@ -47,6 +46,11 @@ <translation>Ajouter un dossier</translation> </message> <message> + <location filename="../../interface.ui" line="44"/> + <source>Waiting</source> + <translation type="unfinished"></translation> + </message> + <message> <location filename="../../interface.ui" line="78"/> <source>Add file</source> <translation>Ajout de fichier</translation> diff --git a/plugins-alternative/Themes/Clean/Languages/hi/translation.ts b/plugins-alternative/Themes/Clean/Languages/hi/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/hi/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/hi/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/hu/translation.ts b/plugins-alternative/Themes/Clean/Languages/hu/translation.ts new file mode 100644 index 0000000..e5a3bcc --- /dev/null +++ b/plugins-alternative/Themes/Clean/Languages/hu/translation.ts @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="hu"> +<context> + <name>InterfacePlugin</name> + <message> + <location filename="../../interface.cpp" line="142"/> + <source>%1/%2 files, %3/%4</source> + <translation>%1/%2 fájl, %3/%4</translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="32"/> + <source>Action:</source> + <translation>Művelet:</translation> + </message> + <message> + <location filename="../../interface.ui" line="44"/> + <source>Waiting</source> + <translation>Várakozás</translation> + </message> + <message> + <location filename="../../interface.ui" line="78"/> + <source>Add file</source> + <translation>Fájl hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="87"/> + <source>Add folder</source> + <translation>Mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="96"/> + <source>Move file(s)</source> + <translation>Fájl(ok) mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="105"/> + <source>Move folder</source> + <translation>Mappa mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="114"/> + <source>Copy file(s)</source> + <translation>Fájl(ok) másolása</translation> + </message> + <message> + <location filename="../../interface.ui" line="123"/> + <source>Copy folder</source> + <translation>Mappa másolása</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Clean/Languages/id/translation.ts b/plugins-alternative/Themes/Clean/Languages/id/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/id/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/id/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/it/translation.ts b/plugins-alternative/Themes/Clean/Languages/it/translation.ts index b44bd5f..b94ac7b 100644 --- a/plugins-alternative/Themes/Clean/Languages/it/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/it/translation.ts @@ -4,9 +4,9 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> - <translation></translation> + <translation>%1/%2 file, %3/%4</translation> </message> </context> <context> @@ -17,9 +17,13 @@ <translation>Azione:</translation> </message> <message> - <location filename="../../interface.ui" line="44"/> <source>In wait</source> - <translation>In attesa</translation> + <translation type="obsolete">In attesa</translation> + </message> + <message> + <location filename="../../interface.ui" line="44"/> + <source>Waiting</source> + <translation type="unfinished"></translation> </message> <message> <location filename="../../interface.ui" line="78"/> @@ -34,22 +38,22 @@ <message> <location filename="../../interface.ui" line="96"/> <source>Move file(s)</source> - <translation>Spostare file(s)</translation> + <translation>Sposta file</translation> </message> <message> <location filename="../../interface.ui" line="105"/> <source>Move folder</source> - <translation>Spostare la cartella</translation> + <translation>Sposta la cartella</translation> </message> <message> <location filename="../../interface.ui" line="114"/> <source>Copy file(s)</source> - <translation>Copiare il file (s)</translation> + <translation>Copia file</translation> </message> <message> <location filename="../../interface.ui" line="123"/> <source>Copy folder</source> - <translation>Copia la cartella</translation> + <translation>Copia cartella</translation> </message> </context> </TS> diff --git a/plugins-alternative/Themes/Clean/Languages/ja/translation.ts b/plugins-alternative/Themes/Clean/Languages/ja/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/ja/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/ja/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/ko/translation.ts b/plugins-alternative/Themes/Clean/Languages/ko/translation.ts index 41627de..95d2138 100644 --- a/plugins-alternative/Themes/Clean/Languages/ko/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/ko/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="+145"/> + <location filename="../../interface.cpp" line="+142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished">%1/%2 파일, %3/%4</translation> </message> @@ -17,9 +17,13 @@ <translation type="unfinished">실행:</translation> </message> <message> - <location line="+12"/> <source>In wait</source> - <translation type="unfinished">대기중</translation> + <translation type="obsolete">대기중</translation> + </message> + <message> + <location line="+12"/> + <source>Waiting</source> + <translation type="unfinished"></translation> </message> <message> <location line="+34"/> diff --git a/plugins-alternative/Themes/Clean/Languages/nl/translation.ts b/plugins-alternative/Themes/Clean/Languages/nl/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/nl/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/nl/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/no/translation.ts b/plugins-alternative/Themes/Clean/Languages/no/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/no/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/no/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/pl/translation.ts b/plugins-alternative/Themes/Clean/Languages/pl/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/pl/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/pl/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/ru/translation.ts b/plugins-alternative/Themes/Clean/Languages/ru/translation.ts index 5f83874..36798e7 100644 --- a/plugins-alternative/Themes/Clean/Languages/ru/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/ru/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation>%1/%2 файлы, %3/%4</translation> </message> @@ -17,9 +17,13 @@ <translation>Действие:</translation> </message> <message> - <location filename="../../interface.ui" line="44"/> <source>In wait</source> - <translation>В ожидании</translation> + <translation type="obsolete">В ожидании</translation> + </message> + <message> + <location filename="../../interface.ui" line="44"/> + <source>Waiting</source> + <translation type="unfinished"></translation> </message> <message> <location filename="../../interface.ui" line="78"/> diff --git a/plugins-alternative/Themes/Clean/Languages/th/translation.ts b/plugins-alternative/Themes/Clean/Languages/th/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/th/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/th/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/tr/translation.ts b/plugins-alternative/Themes/Clean/Languages/tr/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/tr/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/tr/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/Languages/zh/translation.ts b/plugins-alternative/Themes/Clean/Languages/zh/translation.ts index 81df74e..54104e3 100644 --- a/plugins-alternative/Themes/Clean/Languages/zh/translation.ts +++ b/plugins-alternative/Themes/Clean/Languages/zh/translation.ts @@ -4,7 +4,7 @@ <context> <name>InterfacePlugin</name> <message> - <location filename="../../interface.cpp" line="145"/> + <location filename="../../interface.cpp" line="142"/> <source>%1/%2 files, %3/%4</source> <translation type="unfinished"></translation> </message> @@ -18,7 +18,7 @@ </message> <message> <location filename="../../interface.ui" line="44"/> - <source>In wait</source> + <source>Waiting</source> <translation type="unfinished"></translation> </message> <message> diff --git a/plugins-alternative/Themes/Clean/documentation.dox b/plugins-alternative/Themes/Clean/documentation.dox index 56e5331..3f7bc88 100755..100644 --- a/plugins-alternative/Themes/Clean/documentation.dox +++ b/plugins-alternative/Themes/Clean/documentation.dox @@ -11,12 +11,12 @@ \section mainpage_overview Overview It's interface to have minimal interface for Ultracopier.\n - More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier 0.3 project as alternative plugin. + More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier project as alternative plugin. \section mainpage_platforms Platforms - This plugin might be usable in all environments where you find Qt 4.\n - To be compatible with the official Ultracopier plugins, you need compil it with Gcc, Qt4.8, and same env as Ultracopier have been compiled, see the documentation. + 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 diff --git a/plugins-alternative/Themes/Clean/factory.cpp b/plugins-alternative/Themes/Clean/factory.cpp index 2b8d109..6acbe3a 100644 --- a/plugins-alternative/Themes/Clean/factory.cpp +++ b/plugins-alternative/Themes/Clean/factory.cpp @@ -1,70 +1,65 @@ /** \file factory.cpp \brief Define the factory core \author alpha_one_x86 -\version 0.3 -\date 2010 */ - -#include <QtCore> +*/ #include "factory.h" -PluginInterface_Themes * Factory::getInstance() +PluginInterface_Themes * ThemesFactory::getInstance() { - PluginInterface_Themes * newInterface=new InterfacePlugin(facilityEngine); - connect(this,SIGNAL(reloadLanguage()),newInterface,SLOT(newLanguageLoaded())); - return newInterface; + InterfacePlugin * newInterface=new InterfacePlugin(facilityEngine); + connect(this,&ThemesFactory::reloadLanguage,newInterface,&InterfacePlugin::newLanguageLoaded); + return newInterface; } -void Factory::setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,bool portableVersion) +void ThemesFactory::setResources(OptionInterface * options, const QString &writePath, const QString &pluginPath, FacilityInterface * facilityInterface, const bool &portableVersion) { - Q_UNUSED(options) - Q_UNUSED(writePath) - Q_UNUSED(pluginPath) - this->facilityEngine=facilityEngine; - Q_UNUSED(portableVersion) + Q_UNUSED(options) + Q_UNUSED(writePath) + Q_UNUSED(pluginPath) + this->facilityEngine=facilityInterface; + Q_UNUSED(portableVersion) } -QWidget * Factory::options() +QWidget * ThemesFactory::options() { - return NULL; + return NULL; } -QIcon Factory::getIcon(const QString &fileName) +QIcon ThemesFactory::getIcon(const QString &fileName) const { - if(fileName=="SystemTrayIcon/exit.png") - { - QIcon tempIcon=QIcon::fromTheme("application-exit"); - if(!tempIcon.isNull()) - return tempIcon; - } - if(fileName=="SystemTrayIcon/add.png") - { - QIcon tempIcon=QIcon::fromTheme("list-add"); - if(!tempIcon.isNull()) - return tempIcon; - } - if(fileName=="SystemTrayIcon/informations.png") - { - QIcon tempIcon=QIcon::fromTheme("help-about"); - if(!tempIcon.isNull()) - return tempIcon; - } - if(fileName=="SystemTrayIcon/options.png") - { - QIcon tempIcon=QIcon::fromTheme("applications-system"); - if(!tempIcon.isNull()) - return tempIcon; - } - return QIcon(":/resources/"+fileName); + if(fileName=="SystemTrayIcon/exit.png") + { + QIcon tempIcon=QIcon::fromTheme("application-exit"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/add.png") + { + QIcon tempIcon=QIcon::fromTheme("list-add"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/informations.png") + { + QIcon tempIcon=QIcon::fromTheme("help-about"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/options.png") + { + QIcon tempIcon=QIcon::fromTheme("applications-system"); + if(!tempIcon.isNull()) + return tempIcon; + } + return QIcon(":/Themes/Clean/resources/"+fileName); } -void Factory::resetOptions() +void ThemesFactory::resetOptions() { } -void Factory::newLanguageLoaded() +void ThemesFactory::newLanguageLoaded() { - emit reloadLanguage(); + emit reloadLanguage(); } - -Q_EXPORT_PLUGIN2(interface, Factory); diff --git a/plugins-alternative/Themes/Clean/factory.h b/plugins-alternative/Themes/Clean/factory.h index 2a9c0ef..f9b1ee2 100644 --- a/plugins-alternative/Themes/Clean/factory.h +++ b/plugins-alternative/Themes/Clean/factory.h @@ -1,8 +1,7 @@ /** \file factory.h \brief Define the factory, to create instance of the interface \author alpha_one_x86 -\version 0.3 -\date 2010 */ +\licence GPL3, see the file COPYING */ #ifndef FACTORY_H #define FACTORY_H @@ -14,26 +13,27 @@ #include "../../../interface/PluginInterface_Themes.h" /// \brief Define the factory, to create instance of the interface -class Factory : public PluginInterface_ThemesFactory +class ThemesFactory : public PluginInterface_ThemesFactory { - Q_OBJECT - Q_INTERFACES(PluginInterface_ThemesFactory) - public: - /// \brief to return the instance of the copy engine - PluginInterface_Themes * getInstance(); - /// \brief set the resources, to store options, to have facilityInterface - void setResources(OptionInterface * optionsEngine,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,bool portableVersion); - /// \brief to get the default options widget - QWidget * options(); - /// \brief to get a resource icon - QIcon getIcon(const QString &fileName); - signals: - void reloadLanguage(); - public slots: - void resetOptions(); - void newLanguageLoaded(); - private: - FacilityInterface * facilityEngine; + Q_OBJECT + Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json") + Q_INTERFACES(PluginInterface_ThemesFactory) + public: + /// \brief to return the instance of the copy engine + PluginInterface_Themes * getInstance(); + /// \brief set the resources, to store options, to have facilityInterface + void setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion); + /// \brief to get the default options widget + QWidget * options(); + /// \brief to get a resource icon + QIcon getIcon(const QString &fileName) const; + signals: + void reloadLanguage(); + public slots: + void resetOptions(); + void newLanguageLoaded(); + private: + FacilityInterface * facilityEngine; }; #endif // FACTORY_H diff --git a/plugins-alternative/Themes/Clean/informations.xml b/plugins-alternative/Themes/Clean/informations.xml index 8e076a4..3b49a98 100644 --- a/plugins-alternative/Themes/Clean/informations.xml +++ b/plugins-alternative/Themes/Clean/informations.xml @@ -17,11 +17,10 @@ <description xml:lang="en"><![CDATA[Clean style for Ultracopier]]></description> <description xml:lang="fr"><![CDATA[Style Clean pour Ultracopier]]></description> <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> - <version>0.3.1.0</version> + <version>1.2.3.6</version> <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> <name>Clean</name> <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> <dependencies><![CDATA[ - >=ultracopier-0.3.1.0 ]]></dependencies> </package>
\ No newline at end of file diff --git a/plugins-alternative/Themes/Clean/interface.cpp b/plugins-alternative/Themes/Clean/interface.cpp index 6d6c4b1..3f2cd2a 100644 --- a/plugins-alternative/Themes/Clean/interface.cpp +++ b/plugins-alternative/Themes/Clean/interface.cpp @@ -1,99 +1,96 @@ /** \file interface.cpp \brief Define the interface core \author alpha_one_x86 -\version 0.3 -\date 2010 */ - -#include <QtCore> +*/ #include "interface.h" #include "ui_interface.h" InterfacePlugin::InterfacePlugin(FacilityInterface * facilityEngine) : - ui(new Ui::interface()) -{ - ui->setupUi(this); - currentFile = 0; - totalFile = 0; - currentSize = 0; - totalSize = 0; - modeIsForced = false; - haveStarted = false; - this->facilityEngine = facilityEngine; - this->show(); - menu=new QMenu(this); - ui->toolButton->setMenu(menu); - updateModeAndType(); - - connect(ui->actionAddFile,SIGNAL(triggered()),this,SLOT(forcedModeAddFile())); - connect(ui->actionAddFileToCopy,SIGNAL(triggered()),this,SLOT(forcedModeAddFileToCopy())); - connect(ui->actionAddFileToMove,SIGNAL(triggered()),this,SLOT(forcedModeAddFileToMove())); - connect(ui->actionAddFolderToCopy,SIGNAL(triggered()),this,SLOT(forcedModeAddFolderToCopy())); - connect(ui->actionAddFolderToMove,SIGNAL(triggered()),this,SLOT(forcedModeAddFolderToMove())); - connect(ui->actionAddFolder,SIGNAL(triggered()),this,SLOT(forcedModeAddFolder())); + ui(new Ui::interface()) +{ + ui->setupUi(this); + currentFile = 0; + totalFile = 0; + currentSize = 0; + totalSize = 0; + modeIsForced = false; + haveStarted = false; + this->facilityEngine = facilityEngine; + menu=new QMenu(this); + ui->toolButton->setMenu(menu); + updateModeAndType(); + + connect(ui->actionAddFile,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFile); + connect(ui->actionAddFileToCopy,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFileToCopy); + connect(ui->actionAddFileToMove,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFileToMove); + connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolderToCopy); + connect(ui->actionAddFolderToMove,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolderToMove); + connect(ui->actionAddFolder,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolder); + show(); } InterfacePlugin::~InterfacePlugin() { - delete menu; + delete menu; } void InterfacePlugin::forcedModeAddFile() { - emit userAddFile(mode); + emit userAddFile(mode); } void InterfacePlugin::forcedModeAddFolder() { - emit userAddFolder(mode); + emit userAddFolder(mode); } void InterfacePlugin::forcedModeAddFileToCopy() { - emit userAddFile(Copy); + emit userAddFile(Ultracopier::Copy); } void InterfacePlugin::forcedModeAddFolderToCopy() { - emit userAddFolder(Copy); + emit userAddFolder(Ultracopier::Copy); } void InterfacePlugin::forcedModeAddFileToMove() { - emit userAddFile(Move); + emit userAddFile(Ultracopier::Move); } void InterfacePlugin::forcedModeAddFolderToMove() { - emit userAddFolder(Move); + emit userAddFolder(Ultracopier::Move); } void InterfacePlugin::updateModeAndType() { - menu->clear(); - if(modeIsForced) - { - menu->addAction(ui->actionAddFile); - if(type==FileAndFolder) - menu->addAction(ui->actionAddFolder); - } - else - { - menu->addAction(ui->actionAddFileToCopy); - menu->addAction(ui->actionAddFileToMove); - if(type==FileAndFolder) - { - menu->addAction(ui->actionAddFolderToCopy); - menu->addAction(ui->actionAddFolderToMove); - } - } + menu->clear(); + if(modeIsForced) + { + menu->addAction(ui->actionAddFile); + if(type==Ultracopier::FileAndFolder) + menu->addAction(ui->actionAddFolder); + } + else + { + menu->addAction(ui->actionAddFileToCopy); + menu->addAction(ui->actionAddFileToMove); + if(type==Ultracopier::FileAndFolder) + { + menu->addAction(ui->actionAddFolderToCopy); + menu->addAction(ui->actionAddFolderToMove); + } + } } void InterfacePlugin::closeEvent(QCloseEvent *event) { - event->ignore(); - this->hide(); - emit cancel(); + event->ignore(); + this->hide(); + emit cancel(); } void InterfacePlugin::detectedSpeed(const quint64 &speed) @@ -106,162 +103,170 @@ QWidget * InterfacePlugin::getOptionsEngineWidget() return NULL; } -void InterfacePlugin::getOptionsEngineEnabled(bool isEnabled) +void InterfacePlugin::getOptionsEngineEnabled(const bool &isEnabled) { Q_UNUSED(isEnabled) } -void InterfacePlugin::setCopyType(CopyType type) +void InterfacePlugin::setCopyType(const Ultracopier::CopyType &type) { - this->type=type; - updateModeAndType(); + this->type=type; + updateModeAndType(); } -void InterfacePlugin::forceCopyMode(CopyMode mode) +void InterfacePlugin::forceCopyMode(const Ultracopier::CopyMode &mode) { - modeIsForced=true; - this->mode=mode; - updateModeAndType(); + modeIsForced=true; + this->mode=mode; + updateModeAndType(); } void InterfacePlugin::updateTitle() { - QString actionString; - switch(action) - { - case Listing: - actionString=facilityEngine->translateText("Listing"); - break; - case Copying: - actionString=facilityEngine->translateText("Copying"); - break; - case CopyingAndListing: - actionString=facilityEngine->translateText("Listing and copying"); - break; - case Idle: - actionString="Ultracopier"; - break; - } - this->setWindowTitle(actionString+" - "+tr("%1/%2 files, %3/%4").arg(currentFile).arg(totalFile).arg(currentSize).arg(totalSize)); -} - -void InterfacePlugin::actionInProgess(EngineActionInProgress action) -{ - this->action=action; - switch(action) - { - case Copying: - case CopyingAndListing: - ui->progressBar->setMaximum(65535); - ui->progressBar->setMinimum(0); - break; - case Listing: - ui->progressBar->setMaximum(0); - ui->progressBar->setMinimum(0); - break; - case Idle: - if(haveStarted) - emit cancel(); - break; - default: - break; - } - switch(action) - { - case Copying: - case CopyingAndListing: - haveStarted=true; - break; - default: - break; - } -} - -void InterfacePlugin::newTransferStart(const ItemOfCopyList &item) -{ - ui->text->setText(item.sourceFullPath); + QString actionString; + switch(action) + { + case Ultracopier::Listing: + actionString=facilityEngine->translateText("Listing"); + break; + case Ultracopier::Copying: + actionString=facilityEngine->translateText("Copying"); + break; + case Ultracopier::CopyingAndListing: + actionString=facilityEngine->translateText("Listing and copying"); + break; + case Ultracopier::Idle: + actionString="Ultracopier"; + break; + } + this->setWindowTitle(actionString+" - "+tr("%1/%2 files, %3/%4").arg(currentFile).arg(totalFile).arg(currentSize).arg(totalSize)); +} + +void InterfacePlugin::actionInProgess(const Ultracopier::EngineActionInProgress &action) +{ + this->action=action; + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + ui->progressBar->setMaximum(65535); + ui->progressBar->setMinimum(0); + break; + case Ultracopier::Listing: + ui->progressBar->setMaximum(0); + ui->progressBar->setMinimum(0); + break; + case Ultracopier::Idle: + if(haveStarted) + emit cancel(); + break; + default: + break; + } + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + haveStarted=true; + break; + default: + break; + } +} + +void InterfacePlugin::newTransferStart(const Ultracopier::ItemOfCopyList &item) +{ + ui->text->setText(item.sourceFullPath); } void InterfacePlugin::newTransferStop(const quint64 &id) { - Q_UNUSED(id) + Q_UNUSED(id) } void InterfacePlugin::newFolderListing(const QString &path) { - if(action==Listing) - ui->text->setText(path); + if(action==Ultracopier::Listing) + ui->text->setText(path); } void InterfacePlugin::remainingTime(const int &remainingSeconds) { - Q_UNUSED(remainingSeconds) + Q_UNUSED(remainingSeconds) } void InterfacePlugin::newCollisionAction(const QString &action) { - Q_UNUSED(action) + Q_UNUSED(action) } void InterfacePlugin::newErrorAction(const QString &action) { - Q_UNUSED(action) + Q_UNUSED(action) } void InterfacePlugin::errorDetected() { } -void InterfacePlugin::setTransferListOperation(TransferListOperation transferListOperation) +/// \brief new error +void InterfacePlugin::errorToRetry(const QString &source,const QString &destination,const QString &error) +{ + Q_UNUSED(source); + Q_UNUSED(destination); + Q_UNUSED(error); +} + +void InterfacePlugin::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation) { - Q_UNUSED(transferListOperation) + Q_UNUSED(transferListOperation) } //speed limitation bool InterfacePlugin::setSpeedLimitation(const qint64 &speedLimitation) { - Q_UNUSED(speedLimitation) + Q_UNUSED(speedLimitation) return false; } //get information about the copy void InterfacePlugin::setGeneralProgression(const quint64 ¤t,const quint64 &total) { - ui->progressBar->setValue(((double)current/total)*65535); + ui->progressBar->setValue(((double)current/total)*65535); } void InterfacePlugin::setCollisionAction(const QList<QPair<QString,QString> > &list) { - Q_UNUSED(list) + Q_UNUSED(list) } void InterfacePlugin::setErrorAction(const QList<QPair<QString,QString> > &list) { - Q_UNUSED(list) + Q_UNUSED(list) } //edit the transfer list -void InterfacePlugin::getActionOnList(const QList<returnActionOnCopyList> &returnActions) +void InterfacePlugin::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions) { - Q_UNUSED(returnActions) + Q_UNUSED(returnActions) } void InterfacePlugin::haveExternalOrder() { - ui->toolButton->hide(); + ui->toolButton->hide(); } -void InterfacePlugin::isInPause(bool isInPause) +void InterfacePlugin::isInPause(const bool &isInPause) { - //resume in auto the pause - if(isInPause) - emit resume(); + //resume in auto the pause + if(isInPause) + emit resume(); } void InterfacePlugin::newLanguageLoaded() { - ui->retranslateUi(this); - updateTitle(); + ui->retranslateUi(this); + updateTitle(); } /* @@ -269,147 +274,153 @@ void InterfacePlugin::newLanguageLoaded() Return[1]: totalSize Return[2]: currentFile */ -void InterfacePlugin::synchronizeItems(const QList<returnActionOnCopyList>& returnActions) -{ - loop_size=returnActions.size(); - index_for_loop=0; - while(index_for_loop<loop_size) - { - const returnActionOnCopyList& action=returnActions.at(index_for_loop); - switch(action.type) - { - case AddingItem: - { - totalFile++; - totalSize+=action.addAction.size; - } - break; - case RemoveItem: - currentFile++; - break; - case PreOperation: - { - ItemOfCopyListWithMoreInformations tempItem; - tempItem.currentProgression=0; - tempItem.generalData=action.addAction; - totalFile+=action.addAction.size; - InternalRunningOperation << tempItem; - } - break; - case Transfer: - { - sub_index_for_loop=0; - sub_loop_size=InternalRunningOperation.size(); - while(sub_index_for_loop<sub_loop_size) - { - if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id) - { - InternalRunningOperation[sub_index_for_loop].actionType=action.type; - break; - } - sub_index_for_loop++; - } - } - break; - case PostOperation: - { - sub_index_for_loop=0; - sub_loop_size=InternalRunningOperation.size(); - while(sub_index_for_loop<sub_loop_size) - { - if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id) - { - InternalRunningOperation.removeAt(sub_index_for_loop); - break; - } - sub_index_for_loop++; - } - } - break; - case CustomOperation: - { - bool custom_with_progression=(action.addAction.size==1); - sub_index_for_loop=0; - sub_loop_size=InternalRunningOperation.size(); - while(sub_index_for_loop<sub_loop_size) - { - if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id) - { - InternalRunningOperation[sub_index_for_loop].actionType=action.type; - InternalRunningOperation[sub_index_for_loop].custom_with_progression=custom_with_progression; - InternalRunningOperation[sub_index_for_loop].currentProgression=0; - break; - } - sub_index_for_loop++; - } - } - break; - default: - //unknow code, ignore it - break; - } - index_for_loop++; - } -} - -void InterfacePlugin::setFileProgression(const QList<ProgressionItem> &progressionList) -{ - loop_size=InternalRunningOperation.size(); - sub_loop_size=progressionList.size(); - index_for_loop=0; - while(index_for_loop<loop_size) - { - sub_index_for_loop=0; - while(sub_index_for_loop<sub_loop_size) - { - if(progressionList.at(sub_index_for_loop).id==InternalRunningOperation.at(index_for_loop).generalData.id) - { - InternalRunningOperation[index_for_loop].generalData.size=progressionList.at(sub_index_for_loop).total; - InternalRunningOperation[index_for_loop].currentProgression=progressionList.at(sub_index_for_loop).current; - break; - } - sub_index_for_loop++; - } - index_for_loop++; - } +void InterfacePlugin::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) +{ + loop_size=returnActions.size(); + index_for_loop=0; + while(index_for_loop<loop_size) + { + const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop); + switch(action.type) + { + case Ultracopier::AddingItem: + { + totalFile++; + totalSize+=action.addAction.size; + } + break; + case Ultracopier::RemoveItem: + currentFile++; + break; + case Ultracopier::PreOperation: + { + ItemOfCopyListWithMoreInformations tempItem; + tempItem.currentProgression=0; + tempItem.generalData=action.addAction; + currentSize+=action.addAction.size; + InternalRunningOperation << tempItem; + } + break; + case Ultracopier::Transfer: + { + sub_index_for_loop=0; + sub_loop_size=InternalRunningOperation.size(); + while(sub_index_for_loop<sub_loop_size) + { + if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id) + { + InternalRunningOperation[sub_index_for_loop].actionType=action.type; + break; + } + sub_index_for_loop++; + } + } + break; + case Ultracopier::PostOperation: + { + sub_index_for_loop=0; + sub_loop_size=InternalRunningOperation.size(); + while(sub_index_for_loop<sub_loop_size) + { + if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id) + { + InternalRunningOperation.removeAt(sub_index_for_loop); + break; + } + sub_index_for_loop++; + } + } + break; + case Ultracopier::CustomOperation: + { + bool custom_with_progression=(action.addAction.size==1); + sub_index_for_loop=0; + sub_loop_size=InternalRunningOperation.size(); + while(sub_index_for_loop<sub_loop_size) + { + if(InternalRunningOperation.at(sub_index_for_loop).generalData.id==action.addAction.id) + { + InternalRunningOperation[sub_index_for_loop].actionType=action.type; + InternalRunningOperation[sub_index_for_loop].custom_with_progression=custom_with_progression; + InternalRunningOperation[sub_index_for_loop].currentProgression=0; + break; + } + sub_index_for_loop++; + } + } + break; + default: + //unknow code, ignore it + break; + } + index_for_loop++; + } +} + +/** \brief support speed limitation */ +void InterfacePlugin::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool) +{ + Q_UNUSED(supportSpeedLimitationBool); +} + +void InterfacePlugin::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList) +{ + loop_size=InternalRunningOperation.size(); + sub_loop_size=progressionList.size(); + index_for_loop=0; + while(index_for_loop<loop_size) + { + sub_index_for_loop=0; + while(sub_index_for_loop<sub_loop_size) + { + if(progressionList.at(sub_index_for_loop).id==InternalRunningOperation.at(index_for_loop).generalData.id) + { + InternalRunningOperation[index_for_loop].generalData.size=progressionList.at(sub_index_for_loop).total; + InternalRunningOperation[index_for_loop].currentProgression=(progressionList.at(sub_index_for_loop).currentRead+progressionList.at(sub_index_for_loop).currentWrite)/2; + break; + } + sub_index_for_loop++; + } + index_for_loop++; + } } InterfacePlugin::currentTransfertItem InterfacePlugin::getCurrentTransfertItem() { - currentTransfertItem returnItem; - returnItem.haveItem=InternalRunningOperation.size()>0; - if(returnItem.haveItem) - { - const ItemOfCopyListWithMoreInformations &itemTransfer=InternalRunningOperation.first(); - returnItem.from=itemTransfer.generalData.sourceFullPath; - returnItem.to=itemTransfer.generalData.destinationFullPath; - returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); - switch(itemTransfer.actionType) - { - case CustomOperation: - if(!itemTransfer.custom_with_progression) - returnItem.progressBar_file=0; - else - { - if(itemTransfer.generalData.size>0) - returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; - else - returnItem.progressBar_file=0; - } - break; - case Transfer: - if(itemTransfer.generalData.size>0) - returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; - else - returnItem.progressBar_file=0; - break; - case PostOperation: - returnItem.progressBar_file=65535; - break; - default: - returnItem.progressBar_file=0; - } - } - return returnItem; + currentTransfertItem returnItem; + returnItem.haveItem=InternalRunningOperation.size()>0; + if(returnItem.haveItem) + { + const ItemOfCopyListWithMoreInformations &itemTransfer=InternalRunningOperation.first(); + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_file=0; + else + { + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=0; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=0; + break; + case Ultracopier::PostOperation: + returnItem.progressBar_file=65535; + break; + default: + returnItem.progressBar_file=0; + } + } + return returnItem; } diff --git a/plugins-alternative/Themes/Clean/interface.h b/plugins-alternative/Themes/Clean/interface.h index b7ab57f..e5b5c36 100644 --- a/plugins-alternative/Themes/Clean/interface.h +++ b/plugins-alternative/Themes/Clean/interface.h @@ -1,8 +1,7 @@ /** \file interface.h \brief Define the interface \author alpha_one_x86 -\version 0.3 -\date 2010 */ +\licence GPL3, see the file COPYING */ #ifndef INTERFACE_TEST_H #define INTERFACE_TEST_H @@ -15,145 +14,128 @@ #include "../../../interface/PluginInterface_Themes.h" namespace Ui { - class interface; + class interface; } /// \brief Define the interface class InterfacePlugin : public PluginInterface_Themes { - Q_OBJECT + Q_OBJECT public slots: - //send information about the copy - /// \brief to set the action in progress - void actionInProgess(EngineActionInProgress); - /// \brief new transfer have started - void newTransferStart(const ItemOfCopyList &item); - /** \brief one transfer have been stopped - * is stopped, example: because error have occurred, and try later, don't remove the item! */ - void newTransferStop(const quint64 &id); - /// \brief the new folder is listing - void newFolderListing(const QString &path); - /** \brief show the detected speed - * in byte per seconds */ - void detectedSpeed(const quint64 &speed); - /** \brief show the remaining time - * time in seconds */ - void remainingTime(const int &remainingSeconds); - /// \brief set the current collision action - void newCollisionAction(const QString &action); - /// \brief set the current error action - void newErrorAction(const QString &action); - /// \brief set one error is detected - void errorDetected(); - //speed limitation - /** \brief the max speed used - * in byte per seconds, -1 if not able, 0 if disabled */ - bool setSpeedLimitation(const qint64 &speedLimitation); - //set the translate - void newLanguageLoaded(); - void synchronizeItems(const QList<returnActionOnCopyList>& returnActions); + //send information about the copy + /// \brief to set the action in progress + void actionInProgess(const Ultracopier::EngineActionInProgress&); + /// \brief new transfer have started + void newTransferStart(const Ultracopier::ItemOfCopyList &item); + /** \brief one transfer have been stopped + * is stopped, example: because error have occurred, and try later, don't remove the item! */ + void newTransferStop(const quint64 &id); + /// \brief the new folder is listing + void newFolderListing(const QString &path); + /** \brief show the detected speed + * in byte per seconds */ + void detectedSpeed(const quint64 &speed); + /** \brief show the remaining time + * time in seconds */ + void remainingTime(const int &remainingSeconds); + /// \brief set the current collision action + void newCollisionAction(const QString &action); + /// \brief set the current error action + void newErrorAction(const QString &action); + /// \brief set one error is detected + void errorDetected(); + /// \brief new error + void errorToRetry(const QString &source,const QString &destination,const QString &error); + //speed limitation + /** \brief the max speed used + * in byte per seconds, -1 if not able, 0 if disabled */ + bool setSpeedLimitation(const qint64 &speedLimitation); + //set the translate + void newLanguageLoaded(); + void synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions); + /** \brief support speed limitation */ + void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool); public: - /// \brief the transfer item with progression - struct ItemOfCopyListWithMoreInformations - { - quint64 currentProgression; - ItemOfCopyList generalData; - ActionTypeCopyList actionType; - bool custom_with_progression; - }; - /// \brief returned first transfer item - struct currentTransfertItem - { - quint64 id; - bool haveItem; - QString from; - QString to; - QString current_file; - int progressBar_file; - }; - /// \brief get the widget for the copy engine - QWidget * getOptionsEngineWidget(); - /// \brief to set if the copy engine is found - void getOptionsEngineEnabled(bool isEnabled); - /// \brief get action on the transfer list (add/move/remove) - void getActionOnList(const QList<returnActionOnCopyList> &returnActions); - //get information about the copy - /// \brief show the general progression - void setGeneralProgression(const quint64 ¤t,const quint64 &total); - /// \brief show the file progression - void setFileProgression(const QList<ProgressionItem> &progressionList); - /// \brief set collision action - void setCollisionAction(const QList<QPair<QString,QString> > &); - /// \brief set error action - void setErrorAction(const QList<QPair<QString,QString> > &); - /// \brief set the copyType -> file or folder - void setCopyType(CopyType); - /// \brief set the copyMove -> copy or move, to force in copy or move, else support both - void forceCopyMode(CopyMode); - /// \brief set if transfer list is exportable/importable - void setTransferListOperation(TransferListOperation transferListOperation); - /** \brief set if the order is external (like file manager copy) - * to notify the interface, which can hide add folder/filer button */ - void haveExternalOrder(); - /// \brief set if is in pause - void isInPause(bool); + /// \brief the transfer item with progression + struct ItemOfCopyListWithMoreInformations + { + quint64 currentProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + /// \brief returned first transfer item + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + int progressBar_file; + }; + /// \brief get the widget for the copy engine + QWidget * getOptionsEngineWidget(); + /// \brief to set if the copy engine is found + void getOptionsEngineEnabled(const bool &isEnabled); + /// \brief get action on the transfer list (add/move/remove) + void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions); + //get information about the copy + /// \brief show the general progression + void setGeneralProgression(const quint64 ¤t,const quint64 &total); + /// \brief show the file progression + void setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList); + /// \brief set collision action + void setCollisionAction(const QList<QPair<QString,QString> > &); + /// \brief set error action + void setErrorAction(const QList<QPair<QString,QString> > &); + /// \brief set the copyType -> file or folder + void setCopyType(const Ultracopier::CopyType&); + /// \brief set the copyMove -> copy or move, to force in copy or move, else support both + void forceCopyMode(const Ultracopier::CopyMode &); + /// \brief set if transfer list is exportable/importable + void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation); + /** \brief set if the order is external (like file manager copy) + * to notify the interface, which can hide add folder/filer button */ + void haveExternalOrder(); + /// \brief set if is in pause + void isInPause(const bool &); signals: - #ifdef ULTRACOPIER_PLUGIN_DEBUG - /// \brief To debug source - void debugInformation(DebugLevel level,QString fonction,QString text,QString file,int ligne); - #endif - //set the transfer list - void removeItems(QList<int> ids); - void moveItemsOnTop(QList<int> ids); - void moveItemsUp(QList<int> ids); - void moveItemsDown(QList<int> ids); - void moveItemsOnBottom(QList<int> ids); - void exportTransferList(); - void importTransferList(); - //user ask ask to add folder (add it with interface ask source/destination) - void userAddFolder(CopyMode); - void userAddFile(CopyMode); - void urlDropped(QList<QUrl> urls); - //action on the copy - void pause(); - void resume(); - void skip(quint64 id); - void cancel(); - //edit the action - void sendCollisionAction(QString action); - void sendErrorAction(QString action); - void newSpeedLimitation(qint64); + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne); + #endif public: - //constructor and destructor - InterfacePlugin(FacilityInterface * facilityEngine); - ~InterfacePlugin(); + //constructor and destructor + InterfacePlugin(FacilityInterface * facilityEngine); + ~InterfacePlugin(); private: - Ui::interface *ui; - quint64 currentFile; - quint64 totalFile; - quint64 currentSize; - quint64 totalSize; - void updateTitle(); - QMenu *menu; - EngineActionInProgress action; - void closeEvent(QCloseEvent *event); - void updateModeAndType(); - bool modeIsForced; - CopyType type; - CopyMode mode; - bool haveStarted; - QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation; - int loop_size,index_for_loop; - int sub_loop_size,sub_index_for_loop; - currentTransfertItem getCurrentTransfertItem(); - FacilityInterface * facilityEngine; + Ui::interface *ui; + quint64 currentFile; + quint64 totalFile; + quint64 currentSize; + quint64 totalSize; + void updateTitle(); + QMenu *menu; + Ultracopier::EngineActionInProgress action; + void closeEvent(QCloseEvent *event); + void updateModeAndType(); + bool modeIsForced; + Ultracopier::CopyType type; + Ultracopier::CopyMode mode; + bool haveStarted; + QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation; + int loop_size,index_for_loop; + int sub_loop_size,sub_index_for_loop; + currentTransfertItem getCurrentTransfertItem(); + FacilityInterface * facilityEngine; private slots: - void forcedModeAddFile(); - void forcedModeAddFolder(); - void forcedModeAddFileToCopy(); - void forcedModeAddFolderToCopy(); - void forcedModeAddFileToMove(); - void forcedModeAddFolderToMove(); + void forcedModeAddFile(); + void forcedModeAddFolder(); + void forcedModeAddFileToCopy(); + void forcedModeAddFolderToCopy(); + void forcedModeAddFileToMove(); + void forcedModeAddFolderToMove(); }; #endif // INTERFACE_TEST_H diff --git a/plugins-alternative/Themes/Clean/interface.pro b/plugins-alternative/Themes/Clean/interface.pro index 20fd1dd..eb124c9 100644 --- a/plugins-alternative/Themes/Clean/interface.pro +++ b/plugins-alternative/Themes/Clean/interface.pro @@ -1,31 +1,36 @@ +CONFIG += c++11 +QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra" +mac:QMAKE_CXXFLAGS+="-stdlib=libc++" + +QT += widgets TEMPLATE = lib CONFIG += plugin HEADERS = interface.h \ - interface/PluginInterface_Themes.h \ - StructEnumDefinition.h \ + StructEnumDefinition.h \ factory.h \ ../../../interface/PluginInterface_Themes.h SOURCES = interface.cpp \ factory.cpp TARGET = $$qtLibraryTarget(interface) -TRANSLATIONS += Languages/fr/translation.ts \ - Languages/ar/translation.ts \ - Languages/zh/translation.ts \ - Languages/es/translation.ts \ +TRANSLATIONS += Languages/ar/translation.ts \ Languages/de/translation.ts \ Languages/el/translation.ts \ + Languages/en/translation.ts \ + Languages/es/translation.ts \ + Languages/fr/translation.ts \ + Languages/hi/translation.ts \ + Languages/hu/translation.ts \ + Languages/id/translation.ts \ Languages/it/translation.ts \ Languages/ja/translation.ts \ - Languages/id/translation.ts \ + Languages/ko/translation.ts \ + Languages/nl/translation.ts \ + Languages/no/translation.ts \ Languages/pl/translation.ts \ Languages/ru/translation.ts \ - Languages/tr/translation.ts \ Languages/th/translation.ts \ - Languages/hi/translation.ts \ - Languages/nl/translation.ts \ - Languages/no/translation.ts \ - Languages/pt/translation.ts \ - Languages/ko/translation.ts + Languages/tr/translation.ts \ + Languages/zh/translation.ts FORMS += \ interface.ui diff --git a/plugins-alternative/Themes/Clean/interface.ui b/plugins-alternative/Themes/Clean/interface.ui index 1ac0e4a..f178af7 100644 --- a/plugins-alternative/Themes/Clean/interface.ui +++ b/plugins-alternative/Themes/Clean/interface.ui @@ -41,7 +41,7 @@ </font> </property> <property name="text"> - <string>In wait</string> + <string>Waiting</string> </property> </widget> </item> @@ -72,7 +72,7 @@ <action name="actionAddFile"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset> </property> <property name="text"> <string>Add file</string> @@ -81,7 +81,7 @@ <action name="actionAddFolder"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset> </property> <property name="text"> <string>Add folder</string> @@ -90,7 +90,7 @@ <action name="actionAddFileToMove"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset> </property> <property name="text"> <string>Move file(s)</string> @@ -99,7 +99,7 @@ <action name="actionAddFolderToMove"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset> </property> <property name="text"> <string>Move folder</string> @@ -108,7 +108,7 @@ <action name="actionAddFileToCopy"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset> </property> <property name="text"> <string>Copy file(s)</string> @@ -117,7 +117,7 @@ <action name="actionAddFolderToCopy"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Clean/resources/add.png</normaloff>:/Themes/Clean/resources/add.png</iconset> </property> <property name="text"> <string>Copy folder</string> diff --git a/plugins-alternative/Themes/Clean/plugin.json b/plugins-alternative/Themes/Clean/plugin.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/plugins-alternative/Themes/Clean/plugin.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/plugins-alternative/Themes/Clean/resources.qrc b/plugins-alternative/Themes/Clean/resources.qrc index 67c550f..40533c4 100644 --- a/plugins-alternative/Themes/Clean/resources.qrc +++ b/plugins-alternative/Themes/Clean/resources.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/"> + <qresource prefix="/Themes/Clean"> <file>resources/SystemTrayIcon/informations.png</file> </qresource> </RCC> diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/informations.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/informations.png Binary files differindex e1eb797..5b7b255 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/informations.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/informations.png diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png Binary files differindex a81e70d..6f5d1cf 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Unix.png diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png Binary files differindex 8072aea..5464856 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Caught_Windows.png diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png Binary files differindex f40ea82..3961215 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png Binary files differindex 8d673e4..45d6315 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png Binary files differindex 9ce4779..ac4299a 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Unix.png diff --git a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png Binary files differindex d0fca1b..6e6bae7 100644 --- a/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png +++ b/plugins-alternative/Themes/Clean/resources/SystemTrayIcon/systray_Uncaught_Windows.png diff --git a/plugins-alternative/Themes/Clean/resources_unix.qrc b/plugins-alternative/Themes/Clean/resources_unix.qrc index ae3894b..847cc1c 100644 --- a/plugins-alternative/Themes/Clean/resources_unix.qrc +++ b/plugins-alternative/Themes/Clean/resources_unix.qrc @@ -1,6 +1,6 @@ <RCC> - <qresource prefix="/"> - <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> + <qresource prefix="/Themes/Clean"> + <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> <file>resources/SystemTrayIcon/systray_Semiuncaught_Unix.png</file> <file>resources/SystemTrayIcon/systray_Uncaught_Unix.png</file> </qresource> diff --git a/plugins-alternative/Themes/Clean/resources_windows.qrc b/plugins-alternative/Themes/Clean/resources_windows.qrc index 99829b3..7d8bbe1 100644 --- a/plugins-alternative/Themes/Clean/resources_windows.qrc +++ b/plugins-alternative/Themes/Clean/resources_windows.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/"> + <qresource prefix="/Themes/Clean"> <file>resources/SystemTrayIcon/systray_Caught_Windows.png</file> <file>resources/SystemTrayIcon/systray_Semiuncaught_Windows.png</file> <file>resources/SystemTrayIcon/systray_Uncaught_Windows.png</file> diff --git a/plugins-alternative/Themes/Supercopier/DebugEngineMacro.h b/plugins-alternative/Themes/Supercopier/DebugEngineMacro.h new file mode 100644 index 0000000..4582010 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/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-alternative/Themes/Supercopier/Environment.h b/plugins-alternative/Themes/Supercopier/Environment.h new file mode 100644 index 0000000..265a5a6 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/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-alternative/Themes/Supercopier/Languages/ar/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/ar/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/ar/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/de/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/de/translation.ts new file mode 100644 index 0000000..c1177e9 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/de/translation.ts @@ -0,0 +1,324 @@ +<?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="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Kaufen Sie die Ultimate-Version um die Entwicklung zu unterstützen</translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Datei %1/%2, Größe:%3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation>Zu kopierende Dateien</translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation>Zu verschiebende Dateien</translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation>Bei Fehler nicht</translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation>Nie</translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation>Immer</translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation>Dateiname, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation>Farbe auswählen</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation>%1 %2 von %3</translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation>Nicht schließen, wenn Fehler aufgetreten sind</translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation>Niemals schließen</translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation>Immer schließen</translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation>Nach:</translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation>Am Ende des Transfers schließen</translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation>&Mehr</translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation>&Pause</translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation>Über&springen</translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation>Abbrechen (&C)</translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation>Dateiliste</translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation>Ausgewählte Einträge löschen</translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation>Dateiliste exportieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation>Dateiliste importieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation>Vorherige</translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation>Nächste</translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation>Darstellungsoptionen</translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <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="283"/> + <source>Limit copy speed to:</source> + <translation>Begrenze Kopiergeschwindigkeit auf:</translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <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="401"/> + <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="427"/> + <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="453"/> + <source>Add file/folder</source> + <translation>Datei/Ordner hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation>In Dateiliste suchen</translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation>Fehlerprotokoll</translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation>Fehler in Transferliste exportieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation>Quelle</translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation>Ziel</translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation>Datei hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation>Ordner hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation>Datei(en) verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation>Ordner verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation>Datei(en) kopieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation>Verzeichnis kopieren</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation>Zweifachen Fortschritt anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation>Geschwindigkeitsbegrenzungs Schieberegler anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation>Benutzung</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation>Standardmäßig "Mehr" Informationen anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation>Beim Schließen ins Systray minimieren</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation>Fenster am Ende des Vorgangs schließen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation>Begrenze Übertragungsgeschwindigkeit auf</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation>Zum Bearbeiten der Farbe klicken</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation>Informationen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation>Anzeige</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation>Geschwindigkeit als Fortschrittsbalken anzeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation>Farbe des Fortschrittsbalken</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation>Fortschritt im Fenstertitel zeigen</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation>Fenster immer im Vordergrund</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/el/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/el/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/el/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/en/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/en/translation.ts new file mode 100644 index 0000000..9275b19 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/en/translation.ts @@ -0,0 +1,324 @@ +<?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="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/es/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/es/translation.ts new file mode 100644 index 0000000..c407b34 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/es/translation.ts @@ -0,0 +1,340 @@ +<?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="180"/> + <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="262"/> + <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="476"/> + <source>Copy list</source> + <translation>Lista de copia</translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation>Lista de movimiento</translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation>No cierre si se encuentran errores</translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation>Nunca cierre</translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation>Siempre cerrar</translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation>Nombre de archivo, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation>Seleccione un color</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation>No cierre si se encuentran errores</translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation>Nunca cierre</translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation>Siempre cerrar</translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation>Para:</translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation>Cerca al final de las transferencias</translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation>&Más</translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation>&Pausa</translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation>&Omitir</translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation>&Cancelar</translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Limitar la velocidad de copia en:</translation> + </message> + <message> + <source>Close on transfer completion</source> + <translation type="obsolete">Cerca de finalización de transferencia</translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation>Limitar la velocidad de copia en:</translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation>Lista de transferencia</translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <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="375"/> + <source>Move up the selected items</source> + <translation>Mueva los elementos seleccionados</translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation>Bajar los elementos seleccionados</translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <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="453"/> + <source>Add file/folder</source> + <translation>Agregar archivo/carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation>Eliminar los elementos seleccionados</translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation>Buscar</translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation>Exportar la lista de transferencias</translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation>Importe la lista de transferencias</translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation>Anterior</translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation>Próximo</translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation>Error</translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <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="719"/> + <source>Source</source> + <translation>Fuente</translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation>Destino</translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation>Interfaz</translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation>Añadir archivo</translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation>Añadir carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation>Mover archivo(s)</translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation>Mueva la carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation>Copia el archivo(s)</translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation>Copia la carpeta</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation>Mostrar progresión dual</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation>Mostrar la velocidad como principales informaciones</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation>Uso</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <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="61"/> + <source>Minimize on close to systray</source> + <translation>Minimizar en cerca de la bandeja del sistema</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation>Al final de la copia</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation>Limitar la velocidad de copia de</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation>Haga clic para editar el color</translation> + </message> + <message> + <source>At the end of the copy: </source> + <translation type="obsolete">Al final de la copia: </translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Limitar la velocidad de copia en:</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation>Informations</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation>Visualización</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation>Velocidad con barra de progreso</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation>Progresión de color</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation>Mostrar progresión en el título</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation>Siempre visible</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/fr/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/fr/translation.ts new file mode 100644 index 0000000..49112ee --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/fr/translation.ts @@ -0,0 +1,344 @@ +<?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="+180"/> + <source>Buy the Ultimate version to fund development</source> + <translation>Achetez la version Ultimate pour financer le développement</translation> + </message> + <message> + <location line="+82"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Fichier %1/%2, taille: %3/%4</translation> + </message> + <message> + <location line="+214"/> + <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="+183"/> + <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="../../factory.cpp" line="+197"/> + <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="+187"/> + <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="+37"/> + <source>To:</source> + <translation>Vers:</translation> + </message> + <message> + <location line="+53"/> + <source>Close at the end of the transfers</source> + <translation>Fermer à la fin des transferts</translation> + </message> + <message> + <location line="+98"/> + <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> + <source>Limit copy speed at:</source> + <translation type="obsolete">Limiter la vitesse de copie à:</translation> + </message> + <message> + <source>Close on transfer completion</source> + <translation type="obsolete">Fermer à la fin des transferts</translation> + </message> + <message> + <location line="+15"/> + <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="+230"/> + <source>Show dual progression</source> + <translation>Afficher une double progression</translation> + </message> + <message> + <location line="-58"/> + <source>Show speed as main information</source> + <translation>Afficher la vitesse comme information principale</translation> + </message> + <message> + <location line="-137"/> + <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="+20"/> + <source>Minimize on close to systray</source> + <translation>Minimiser à la fermeture dans le systray</translation> + </message> + <message> + <location line="+10"/> + <source>At the end of the copy</source> + <translation>À la fin de la copie</translation> + </message> + <message> + <location line="+26"/> + <location line="+24"/> + <source>Limit copy speed to</source> + <translation>Limiter la vitesse de copie à</translation> + </message> + <message> + <location line="+138"/> + <source>Click to edit the color</source> + <translation>Cliquer pour édité la couleur</translation> + </message> + <message> + <source>At the end of the copy: </source> + <translation type="obsolete">À la fin de la copie:</translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Limiter la vitesse de copie à:</translation> + </message> + <message> + <source>Limit copy speed to:</source> + <translation type="obsolete">Limiter la vitesse de copie à:</translation> + </message> + <message> + <location line="-128"/> + <source> KB/s</source> + <translation> Ko/s</translation> + </message> + <message> + <location line="+35"/> + <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="-20"/> + <source>Show progression in the title</source> + <translation>Afficher la progression dans le titre</translation> + </message> + <message> + <location line="-169"/> + <source>Always on top</source> + <translation>Toujours au 1er plan</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/hi/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/hi/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/hi/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/hu/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/hu/translation.ts new file mode 100644 index 0000000..bc36d92 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/hu/translation.ts @@ -0,0 +1,328 @@ +<?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="180"/> + <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="262"/> + <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="476"/> + <source>Copy list</source> + <translation>Lista másolása</translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation>Lista mozgatása</translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <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="900"/> + <source>Never close</source> + <translation>Sose zárja be</translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation>Mindig zárja be</translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation>Fájlnév, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation>Válassz egy színt</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation>Ne zárja be, ha hiba történik</translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation>Sose zárja be</translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation>Mindig zárja be</translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation>Cél:</translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation>&Több</translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation>&Szünet</translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation>&Kihagy</translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation>&Mégse</translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation>Átviteli lista</translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation>Előző</translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation>Következő</translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation>Kezelőfelület</translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation>Kijelölések elemek mozgatása legfelülre</translation> + </message> + <message> + <source>Close on transfer completion</source> + <translation type="obsolete">Átvitel végeztével zárja be</translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation>Másolási sebesség korlátozása:</translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation>Kijelölt elemek mozgatása fel</translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation>Kijelölt elemek mozgatása le</translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <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="453"/> + <source>Add file/folder</source> + <translation>Fájl/mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation>Kijelölt elemek törlése</translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation>Keresés</translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation>Átviteli lista exportálása</translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation>Átviteli lista importálása</translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation>Hiba</translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <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="719"/> + <source>Source</source> + <translation>Forrás</translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation>Cél</translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation>Fájl hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation>Mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation>Fájl(ok) mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation>Mappa mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation>Fájl(ok) másolása</translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation>Mappa másolása</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation>Páros folyamat mutatása</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation>Sebesség mutatása, mint fő információ</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation>Használ</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <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="61"/> + <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="71"/> + <source>At the end of the copy</source> + <translation>A másolás befejezésekor</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation>Másolási sebesség korlátozása</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation>Kattints a szín szerkesztéséhez</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation>Információk</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation>Megjelenítés</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation>Sebesség folyamatsávval</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation>Folyamat színe</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation>Folyamat mutatása a címsorban</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation>Mindig legfelül</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/id/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/id/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/id/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/it/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/it/translation.ts new file mode 100644 index 0000000..255c3b1 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/it/translation.ts @@ -0,0 +1,336 @@ +<?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="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation>File %1/%2, dimensione: %3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation>Lista della copia</translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation>Lista dello spostamento</translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation>Non chiudere se vengono rilevati errori</translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation>Non chiudere mai</translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation>Chiudere sempre</translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation>Nome del file, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation>Scegliere un colore</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation>Non chiudere se vengono rilevati errori</translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation>Non chiudere mai</translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation>Chiudere sempre</translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation>a:</translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished">Chiudi alla fine dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation>Altr&o</translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation>&Pausa</translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation>&Salta</translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation>&Annulla</translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Ridurre la velocità di copia a:</translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation>Lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation>Sposta in cima gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation>Sposta sopra gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation>Sposta sotto gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation>Sposta in coda gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation>Aggiungi file/cartelle</translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation>Elimina gli elementi selezionati</translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation>Cerca</translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation>Esporta la lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation>Importa la lista dei trasferimenti</translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation>Precedente</translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation>Successivo</translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation>Interfaccia</translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation>Aggiungi file</translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation>Aggiungi cartella</translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation>Sposta file</translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation>Sposta la cartella</translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation>Copia file</translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation>Copia la cartella</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation>Mostrare la doppia progressione</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation>Mostrare la velocità come principale informazione</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation>Iniziare col pulsante "Altro" attivo</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>At the end of the copy: </source> + <translation type="obsolete">Alla fine della copia: </translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Ridurre la velocità di copia a:</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation> KB/s</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation>Velocità nella barra di progresso</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation>Colore della progressione</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation>Mostrare la percentuale di progresso sul titolo</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation>Sempre in primo piano</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/ja/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/ja/translation.ts new file mode 100644 index 0000000..6ba3c00 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/ja/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/ko/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/ko/translation.ts new file mode 100644 index 0000000..4354bd2 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/ko/translation.ts @@ -0,0 +1,336 @@ +<?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="+180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+82"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished">파일 %1/%2, 크기: %3/%4</translation> + </message> + <message> + <location line="+214"/> + <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="+183"/> + <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="../../factory.cpp" line="+197"/> + <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="+187"/> + <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="+37"/> + <source>To:</source> + <translation type="unfinished">대상:</translation> + </message> + <message> + <location line="+53"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+98"/> + <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> + <source>Limit copy speed at:</source> + <translation type="obsolete">복사 속도 제한:</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="-66"/> + <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="+230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-58"/> + <source>Show speed as main information</source> + <translation type="unfinished">메인 정보에 속도 표시</translation> + </message> + <message> + <location line="-137"/> + <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="+20"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+26"/> + <location line="+24"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+138"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>At the end of the copy: </source> + <translation type="obsolete">복사 종료시:</translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">복사 속도 제한:</translation> + </message> + <message> + <location line="-128"/> + <source> KB/s</source> + <translation type="unfinished"> KB/초</translation> + </message> + <message> + <location line="+35"/> + <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="-20"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="-169"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/nl/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/nl/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/nl/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/no/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/no/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/no/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/pl/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/pl/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/pl/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/pt/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/pt/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/pt/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/ru/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/ru/translation.ts new file mode 100644 index 0000000..a5a373b --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/ru/translation.ts @@ -0,0 +1,336 @@ +<?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="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation>Файл %1/%2, размер: %3/%4</translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished">Копировать список</translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished">Не закрывать, если найдены ошибки</translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished">Никогда не закрывать</translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished">Всегда закрывайте</translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation>Имя файла, 0KB</translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished">Не закрывать, если найдены ошибки</translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished">Никогда не закрывать</translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished">Всегда закрывайте</translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation>к:</translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation>больше</translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation>пауза</translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation>пропускать</translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation>отменить</translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Предельная скорость копирования по адресу:</translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation>предыдущий</translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation>следующий</translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation>интерфейс</translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation>Добавить файл</translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation>Добавить папку</translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation>Перемещение файла(ов)</translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation>Перемещение папки</translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation>Копировать файл (ы)</translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation>Копировать папку</translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished">Показать скорости в качестве основной информации</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <source>At the end of the copy: </source> + <translation type="obsolete">В конце копии: </translation> + </message> + <message> + <source>Limit copy speed at:</source> + <translation type="obsolete">Предельная скорость копирования по адресу:</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"> Кб/с</translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/th/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/th/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/th/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/tr/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/tr/translation.ts new file mode 100644 index 0000000..78e326c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/tr/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/Languages/zh/translation.ts b/plugins-alternative/Themes/Supercopier/Languages/zh/translation.ts new file mode 100644 index 0000000..6ba3c00 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Languages/zh/translation.ts @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="180"/> + <source>Buy the Ultimate version to fund development</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="262"/> + <source>File %1/%2, size: %3/%4</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="476"/> + <source>Copy list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="478"/> + <source>Move list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="899"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="900"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="901"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="903"/> + <source>File Name, 0KB</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1086"/> + <location filename="../../interface.cpp" line="1098"/> + <location filename="../../interface.cpp" line="1110"/> + <source>Select a color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="1185"/> + <location filename="../../interface.cpp" line="1189"/> + <location filename="../../interface.cpp" line="1191"/> + <source>%1 %2% of %3</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>ThemesFactory</name> + <message> + <location filename="../../factory.cpp" line="197"/> + <source>Don't close if errors are found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="198"/> + <source>Never close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="199"/> + <source>Always close</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../factory.cpp" line="386"/> + <location filename="../../factory.cpp" line="401"/> + <location filename="../../factory.cpp" line="416"/> + <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="72"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="125"/> + <source>Close at the end of the transfers</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="223"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="243"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="257"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="268"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="482"/> + <source>Delete the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="537"/> + <source>Export the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="563"/> + <source>Import the transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="618"/> + <source>Previous</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="625"/> + <source>Next</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="738"/> + <source>Interface</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="349"/> + <source>Move the selected items to the top</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="283"/> + <source>Limit copy speed to:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="375"/> + <source>Move up the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="401"/> + <source>Move down the selected items</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="427"/> + <source>Move the selected items to the bottom</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="453"/> + <source>Add file/folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="508"/> + <source>Search</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="660"/> + <location filename="../../interface.ui" line="729"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="680"/> + <source>Export the errors into transfer list</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="719"/> + <source>Source</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="724"/> + <source>Destination</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="775"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="784"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="793"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="802"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="811"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="820"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>themesOptions</name> + <message> + <location filename="../../themesOptions.ui" line="230"/> + <source>Show dual progression</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="172"/> + <source>Show speed as main information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="35"/> + <source>Use</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="41"/> + <source>Start with the "more button" pushed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="61"/> + <source>Minimize on close to systray</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="71"/> + <source>At the end of the copy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="97"/> + <location filename="../../themesOptions.ui" line="121"/> + <source>Limit copy speed to</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="131"/> + <source> KB/s</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="166"/> + <source>Informations</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="204"/> + <source>Display</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="210"/> + <source>Speed with progress bar</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="240"/> + <source>Progression color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="259"/> + <source>Click to edit the color</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="220"/> + <source>Show progression in the title</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../themesOptions.ui" line="51"/> + <source>Always on top</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Supercopier/StructEnumDefinition.h b/plugins-alternative/Themes/Supercopier/StructEnumDefinition.h new file mode 100644 index 0000000..c1758f4 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/StructEnumDefinition.h @@ -0,0 +1 @@ +#include "../../../StructEnumDefinition.h" diff --git a/plugins-alternative/Themes/Supercopier/TransferModel.cpp b/plugins-alternative/Themes/Supercopier/TransferModel.cpp new file mode 100644 index 0000000..6ce9b92 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/TransferModel.cpp @@ -0,0 +1,569 @@ +#include "TransferModel.h" + +#define COLUMN_COUNT 3 + +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; + facilityEngine=NULL; +} + +int TransferModel::columnCount( const QModelIndex& parent ) const +{ + return parent == QModelIndex() ? COLUMN_COUNT : 0; +} + +QVariant TransferModel::data( const QModelIndex& index, int role ) const +{ + int row,column; + row=index.row(); + column=index.column(); + if(index.parent()!=QModelIndex() || row < 0 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT) + return QVariant(); + + const TransfertItem& item = transfertItemList.at(row); + if(role==Qt::UserRole) + return item.id; + else if(role==Qt::DisplayRole) + { + switch(column) + { + case 0: + return item.source; + break; + case 1: + return item.size; + break; + case 2: + return item.destination; + break; + default: + return QVariant(); + } + } + else if(role==Qt::DecorationRole) + { + switch(column) + { + case 0: + if(stopId.contains(item.id)) + return *stop; + else if(startId.contains(item.id)) + return *start; + else + return QVariant(); + break; + default: + return QVariant(); + } + } + else if(role==Qt::BackgroundRole) + { + if(!search_text.isEmpty() && (item.source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || item.destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1)) + { + if(haveSearchItem && searchId==item.id) + return QColor(255,150,150,100); + else + return QColor(255,255,0,100); + } + else + return QVariant(); + } + return QVariant(); +} + +int TransferModel::rowCount( const QModelIndex& parent ) const +{ + return parent == QModelIndex() ? transfertItemList.count() : 0; +} + +quint64 TransferModel::firstId() const +{ + if(transfertItemList.count()>0) + return transfertItemList.first().id; + else + return 0; +} + +QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const +{ + if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) { + switch ( section ) { + case 0: + return facilityEngine->translateText(QStringLiteral("Source")); + case 1: + return facilityEngine->translateText(QStringLiteral("Size")); + case 2: + return facilityEngine->translateText(QStringLiteral("Destination")); + } + } + + return QAbstractTableModel::headerData( section, orientation, role ); +} + +bool TransferModel::setData( const QModelIndex& index, const QVariant& value, int role ) +{ + row=index.row(); + column=index.column(); + if(index.parent()!=QModelIndex() || row < 0 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT) + return false; + + TransfertItem& item = transfertItemList[row]; + if(role==Qt::UserRole) + { + item.id=value.toULongLong(); + return true; + } + else if(role==Qt::DisplayRole) + { + switch(column) + { + case 0: + item.source=value.toString(); + emit dataChanged(index,index); + return true; + break; + case 1: + item.size=value.toString(); + emit dataChanged(index,index); + return true; + break; + case 2: + item.destination=value.toString(); + emit dataChanged(index,index); + return true; + break; + default: + return false; + } + } + return false; +} + +/* + Return[0]: totalFile + Return[1]: totalSize + Return[2]: currentFile + */ +QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) +{ + loop_size=returnActions.size(); + index_for_loop=0; + quint64 totalFile=0,totalSize=0,currentFile=0; + totalFile=0; + totalSize=0; + currentFile=0; + + emit layoutAboutToBeChanged(); + 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>(); + } + + 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<<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)); + break; + } + if(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)); + 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)); + break; + } + if(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)); + 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)); + break; + } + transfertItemList.move(action.userAction.position,action.userAction.moveAt); + //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)); + break; + } + if(action.userAction.position>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + transfertItemList.removeAt(action.userAction.position); + currentFile++; + startId.remove(action.addAction.id); + stopId.remove(action.addAction.id); + internalRunningOperation.remove(action.addAction.id); + //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.contains(action.addAction.id)) + startId << action.addAction.id; + stopId.remove(action.addAction.id); + if(internalRunningOperation.contains(action.addAction.id)) + internalRunningOperation[action.addAction.id].actionType=action.type; + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id)); + } + break; + case Ultracopier::PostOperation: + { + if(!stopId.contains(action.addAction.id)) + stopId << action.addAction.id; + startId.remove(action.addAction.id); + } + break; + case Ultracopier::CustomOperation: + { + bool custom_with_progression=(action.addAction.size==1); + //without progression + if(custom_with_progression) + { + if(startId.remove(action.addAction.id)) + if(!stopId.contains(action.addAction.id)) + stopId << action.addAction.id; + } + //with progression + else + { + stopId.remove(action.addAction.id); + if(!startId.contains(action.addAction.id)) + startId << action.addAction.id; + } + if(internalRunningOperation.contains(action.addAction.id)) + { + ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; + item.actionType=action.type; + item.custom_with_progression=custom_with_progression; + item.currentReadProgression=0; + item.currentWriteProgression=0; + } + } + break; + default: + //unknow code, ignore it + break; + } + index_for_loop++; + } + + if(!oldIndexes.isEmpty()) + { + const QSet<quint64> ids = oldMapping.values().toSet(); + + for ( int i = 0; i < transfertItemList.count(); 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(); + return QList<quint64>() << totalFile << totalSize << currentFile; +} + +void TransferModel::setFacilityEngine(FacilityInterface *facilityEngine) +{ + this->facilityEngine=facilityEngine; +} + +int TransferModel::search(const QString &text,bool searchNext) +{ + emit layoutAboutToBeChanged(); + search_text=text; + emit layoutChanged(); + if(transfertItemList.size()==0) + return -1; + if(text.isEmpty()) + return -1; + if(searchNext) + { + currentIndexSearch++; + if(currentIndexSearch>=loop_size) + currentIndexSearch=0; + } + index_for_loop=0; + loop_size=transfertItemList.size(); + while(index_for_loop<loop_size) + { + if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1) + { + haveSearchItem=true; + searchId=transfertItemList.at(currentIndexSearch).id; + return currentIndexSearch; + } + currentIndexSearch++; + if(currentIndexSearch>=loop_size) + currentIndexSearch=0; + index_for_loop++; + } + haveSearchItem=false; + return -1; +} + +int TransferModel::searchPrev(const QString &text) +{ + emit layoutAboutToBeChanged(); + search_text=text; + emit layoutChanged(); + if(transfertItemList.size()==0) + return -1; + if(text.isEmpty()) + return -1; + if(currentIndexSearch==0) + currentIndexSearch=loop_size-1; + else + currentIndexSearch--; + index_for_loop=0; + loop_size=transfertItemList.size(); + while(index_for_loop<loop_size) + { + if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1) + { + haveSearchItem=true; + searchId=transfertItemList.at(currentIndexSearch).id; + return currentIndexSearch; + } + if(currentIndexSearch==0) + currentIndexSearch=loop_size-1; + else + currentIndexSearch--; + index_for_loop++; + } + haveSearchItem=false; + return -1; +} + +void TransferModel::setFileProgression( + #ifndef ULTRACOPIER_PLUGIN_DEBUG + const + #endif + QList<Ultracopier::ProgressionItem> &progressionList) +{ + loop_size=progressionList.size(); + index_for_loop=0; + while(index_for_loop<loop_size) + { + if(internalRunningOperation.contains(progressionList.at(index_for_loop).id)) + { + internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total; + internalRunningOperation[progressionList.at(index_for_loop).id].currentReadProgression=progressionList.at(index_for_loop).currentRead; + internalRunningOperation[progressionList.at(index_for_loop).id].currentWriteProgression=progressionList.at(index_for_loop).currentWrite; + #ifdef ULTRACOPIER_PLUGIN_DEBUG + progressionList.removeAt(index_for_loop); + index_for_loop--; + loop_size--; + #endif + } + index_for_loop++; + } + #ifdef ULTRACOPIER_PLUGIN_DEBUG + if(progressionList.size()>0) + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("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.contains(*startId.constBegin())) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation.value(*startId.constBegin()); + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+QStringLiteral(", ")+facilityEngine->sizeToString(itemTransfer.generalData.size); + returnItem.id=itemTransfer.generalData.id; + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_read=-1; + else + { + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + returnItem.progressBar_read=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + { + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + } + break; + //should never pass here + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + break; + default: + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + break; + } + } + else + { + returnItem.haveItem=stopId.size()>0; + if(returnItem.haveItem) + { + if(!internalRunningOperation.contains(*stopId.constBegin())) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation.value(*stopId.constBegin()); + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+QStringLiteral(", ")+facilityEngine->sizeToString(itemTransfer.generalData.size); + returnItem.id=itemTransfer.generalData.id; + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_read=-1; + else + { + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + returnItem.progressBar_read=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + { + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + } + break; + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + break; + default: + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + break; + } + } + } + if(returnItem.haveItem && returnItem.progressBar_read!=-1 && returnItem.progressBar_write>returnItem.progressBar_read) + { + int tempVar=returnItem.progressBar_write; + returnItem.progressBar_write=returnItem.progressBar_read; + returnItem.progressBar_read=tempVar; + } + return returnItem; +} diff --git a/plugins-alternative/Themes/Supercopier/TransferModel.h b/plugins-alternative/Themes/Supercopier/TransferModel.h new file mode 100644 index 0000000..dd8b45a --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/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 "StructEnumDefinition.h" +#include "Environment.h" + +#include "../../../interface/FacilityInterface.h" + +/// \brief model to store the transfer list +class TransferModel : public QAbstractTableModel +{ + Q_OBJECT +public: + /// \brief the transfer item displayed + struct TransfertItem + { + quint64 id; + QString source; + QString size; + QString destination; + }; + /// \brief the transfer item with progression + struct ItemOfCopyListWithMoreInformations + { + quint64 currentReadProgression,currentWriteProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + /// \brief returned first transfer item + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + int progressBar_read,progressBar_write; + }; + + TransferModel(); + + virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; + virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; + virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; + virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + + QList<quint64> synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions); + void setFacilityEngine(FacilityInterface * facilityEngine); + + int search(const QString &text,bool searchNext); + int searchPrev(const QString &text); + + void setFileProgression( + #ifndef ULTRACOPIER_PLUGIN_DEBUG + const + #endif + QList<Ultracopier::ProgressionItem> &progressionList); + + currentTransfertItem getCurrentTransfertItem() const; + + quint64 firstId() const; +protected: + QList<TransfertItem> transfertItemList;///< To have a transfer list for the user + QSet<quint64> startId,stopId;///< To show what is started, what is stopped + QHash<quint64,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat +private: + int loop_size,index_for_loop; + int sub_loop_size,sub_index_for_loop; + int row,column; + FacilityInterface * facilityEngine; + QString search_text; + /// \brief index from start the search, decresed by remove before it + int currentIndexSearch; + bool haveSearchItem; + quint64 searchId; + static QIcon *start; + static QIcon *stop; +signals: + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,QString fonction,QString text,QString file,int ligne) const; + #endif +}; + +#endif // TRANSFERMODEL_H diff --git a/plugins-alternative/Themes/Supercopier/Variable.h b/plugins-alternative/Themes/Supercopier/Variable.h new file mode 100644 index 0000000..963d0c8 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/Variable.h @@ -0,0 +1,15 @@ +/** \file Variable.h
+\brief Define the environment variable
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef VARIABLE_H
+#define VARIABLE_H
+
+//Un-comment this next line to put ultracopier plugin in debug mode
+#define ULTRACOPIER_PLUGIN_DEBUG
+
+#endif // VARIABLE_H
+
+
+
diff --git a/plugins-alternative/Themes/Supercopier/documentation.dox b/plugins-alternative/Themes/Supercopier/documentation.dox new file mode 100644 index 0000000..9357109 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/documentation.dox @@ -0,0 +1,33 @@ +/* -*- 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 interface like Supercopier, see Tal Sella http://www.virtualplastic.net/scrow/ (icons) for the icons and icon license.\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 found link on <a href="http://ultracopier.first-world.info/">Ultracopier (Supercopier/Teracopy)</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 + See Tal Sella http://www.virtualplastic.net/scrow/ (icons) for the icons and icon license.\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-alternative/Themes/Supercopier/factory.cpp b/plugins-alternative/Themes/Supercopier/factory.cpp new file mode 100644 index 0000000..ce3fe15 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/factory.cpp @@ -0,0 +1,441 @@ +/** \file factory.cpp +\brief Define the factory core +\author alpha_one_x86 +*/ + +#include <QColorDialog> + +#include "factory.h" + +ThemesFactory::ThemesFactory() +{ + optionsEngine=NULL; + tempWidget=new QWidget(); + ui=new Ui::themesOptions(); + ui->setupUi(tempWidget); + ui->toolBox->setCurrentIndex(0); + currentSpeed = 0; + updateSpeed(); + ui->labelDualProgression->hide(); + ui->showDualProgression->hide(); + + qRegisterMetaType<QList<QPersistentModelIndex> >("QList<QPersistentModelIndex>"); +} + +ThemesFactory::~ThemesFactory() +{ +} + +PluginInterface_Themes * ThemesFactory::getInstance() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start, currentSpeed: %1").arg(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() + ); + #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 QString & + #ifdef ULTRACOPIER_PLUGIN_DEBUG + writePath + #endif + ,const QString & + #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 + QList<QPair<QString, QVariant> > KeysList; + KeysList.append(qMakePair(QStringLiteral("checkBoxShowSpeed"),QVariant(false))); + KeysList.append(qMakePair(QStringLiteral("moreButtonPushed"),QVariant(false))); + KeysList.append(qMakePair(QStringLiteral("speedWithProgressBar"),QVariant(false))); + KeysList.append(qMakePair(QStringLiteral("currentSpeed"),QVariant(0))); + KeysList.append(qMakePair(QStringLiteral("comboBox_copyEnd"),QVariant(0))); + KeysList.append(qMakePair(QStringLiteral("showDualProgression"),QVariant(false))); + KeysList.append(qMakePair(QStringLiteral("showProgressionInTheTitle"),QVariant(true))); + KeysList.append(qMakePair(QStringLiteral("progressColorWrite"),QVariant(QApplication::palette().color(QPalette::Highlight)))); + KeysList.append(qMakePair(QStringLiteral("progressColorRead"),QVariant(QApplication::palette().color(QPalette::AlternateBase)))); + KeysList.append(qMakePair(QStringLiteral("progressColorRemaining"),QVariant(QApplication::palette().color(QPalette::Base)))); + KeysList.append(qMakePair(QStringLiteral("alwaysOnTop"),QVariant(false))); + KeysList.append(qMakePair(QStringLiteral("minimizeToSystray"),QVariant(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=optionsEngine->getOptionValue("currentSpeed").toUInt(&ok); + if(!ok) + currentSpeed=0; + ui->comboBox_copyEnd->setCurrentIndex(optionsEngine->getOptionValue(QStringLiteral("comboBox_copyEnd")).toUInt()); + ui->speedWithProgressBar->setChecked(optionsEngine->getOptionValue(QStringLiteral("speedWithProgressBar")).toBool()); + ui->checkBoxShowSpeed->setChecked(optionsEngine->getOptionValue(QStringLiteral("checkBoxShowSpeed")).toBool()); + ui->checkBoxStartWithMoreButtonPushed->setChecked(optionsEngine->getOptionValue(QStringLiteral("moreButtonPushed")).toBool()); + ui->showDualProgression->setChecked(optionsEngine->getOptionValue(QStringLiteral("showDualProgression")).toBool()); + ui->showProgressionInTheTitle->setChecked(optionsEngine->getOptionValue(QStringLiteral("showProgressionInTheTitle")).toBool()); + ui->alwaysOnTop->setChecked(optionsEngine->getOptionValue(QStringLiteral("alwaysOnTop")).toBool()); + ui->minimizeToSystray->setChecked(optionsEngine->getOptionValue(QStringLiteral("minimizeToSystray")).toBool()); + + progressColorWrite=optionsEngine->getOptionValue(QStringLiteral("progressColorWrite")).value<QColor>(); + progressColorRead=optionsEngine->getOptionValue(QStringLiteral("progressColorRead")).value<QColor>(); + progressColorRemaining=optionsEngine->getOptionValue(QStringLiteral("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); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"return the options"); + return tempWidget; +} + +QIcon ThemesFactory::getIcon(const QString &fileName) const +{ + return QIcon(QStringLiteral(":/Themes/Supercopier/resources/")+fileName); +} + +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(QStringLiteral("checkBoxShowSpeed"),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(QStringLiteral("moreButtonPushed"),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(QStringLiteral("comboBox_copyEnd"),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(QStringLiteral("speedWithProgressBar"),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(QStringLiteral("minimizeToSystray"),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(QStringLiteral("alwaysOnTop"),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(QStringLiteral("showDualProgression"),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,QStringLiteral("value: %1").arg(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(QStringLiteral("currentSpeed"),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,QStringLiteral("emit newSpeedLimitation(%1)").arg(currentSpeed)); + if(optionsEngine!=NULL) + optionsEngine->setOptionValue(QStringLiteral("currentSpeed"),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,QStringLiteral("checked, currentSpeed: %1").arg(currentSpeed)); + ui->limitSpeed->setEnabled(false); + if(currentSpeed==0) + { + ui->SliderSpeed->setValue(0); + ui->label_SpeedMaxValue->setText(facilityEngine->translateText("Unlimited")); + } + else if(currentSpeed<=1024) + { + if(currentSpeed!=1024) + { + currentSpeed=1024; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue(QStringLiteral("currentSpeed"),currentSpeed); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(1); + ui->label_SpeedMaxValue->setText(facilityEngine->speedToString((double)(1024*1024)*1)); + } + else if(currentSpeed<=1024*4) + { + if(currentSpeed!=1024*4) + { + currentSpeed=1024*4; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue(QStringLiteral("currentSpeed"),currentSpeed); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(2); + ui->label_SpeedMaxValue->setText(facilityEngine->speedToString((double)(1024*1024)*4)); + } + else if(currentSpeed<=1024*16) + { + if(currentSpeed!=1024*16) + { + currentSpeed=1024*16; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue(QStringLiteral("currentSpeed"),currentSpeed); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(3); + ui->label_SpeedMaxValue->setText(facilityEngine->speedToString((double)(1024*1024)*16)); + } + else if(currentSpeed<=1024*64) + { + if(currentSpeed!=1024*64) + { + currentSpeed=1024*64; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue(QStringLiteral("currentSpeed"),currentSpeed); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(4); + ui->label_SpeedMaxValue->setText(facilityEngine->speedToString((double)(1024*1024)*64)); + } + else + { + if(currentSpeed!=1024*128) + { + currentSpeed=1024*128; + if(optionsEngine!=NULL) + optionsEngine->setOptionValue(QStringLiteral("currentSpeed"),currentSpeed); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); + } + ui->SliderSpeed->setValue(5); + ui->label_SpeedMaxValue->setText(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(QStringLiteral("progressColorWrite"),progressColorWrite); + 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(QStringLiteral("progressColorRead"),progressColorRead); + 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(QStringLiteral("progressColorRemaining"),progressColorRemaining); + 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(QStringLiteral("showProgressionInTheTitle"),ui->showProgressionInTheTitle->isChecked()); + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"internal error, crash prevented"); +} diff --git a/plugins-alternative/Themes/Supercopier/factory.h b/plugins-alternative/Themes/Supercopier/factory.h new file mode 100644 index 0000000..11607d2 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/factory.h @@ -0,0 +1,83 @@ +/** \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 + Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json") + Q_INTERFACES(PluginInterface_ThemesFactory) +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 QString & + #ifdef ULTRACOPIER_PLUGIN_DEBUG + writePath + #endif + ,const QString & + #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 QString &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(); +public slots: + void resetOptions(); + void newLanguageLoaded(); +private: + OptionInterface * optionsEngine; + Ui::themesOptions *ui; + QWidget *tempWidget; + FacilityInterface * facilityEngine; + qint32 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-alternative/Themes/Supercopier/informations.xml b/plugins-alternative/Themes/Supercopier/informations.xml new file mode 100644 index 0000000..25a77f9 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/informations.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<package> + <title xml:lang="en"><![CDATA[Supercopier style for Ultracopier]]></title><!-- english is required --> + <title xml:lang="fr"><![CDATA[Style Supercopier 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[Supercopier style for Ultracopier]]></description> + <description xml:lang="fr"><![CDATA[Style Supercopier pour Ultracopier]]></description> + <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> + <version>1.2.3.6</version> + <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> + <name>Supercopier</name> + <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> + <dependencies><![CDATA[ + ]]></dependencies> +</package>
\ No newline at end of file diff --git a/plugins-alternative/Themes/Supercopier/interface.cpp b/plugins-alternative/Themes/Supercopier/interface.cpp new file mode 100644 index 0000000..7af05e8 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interface.cpp @@ -0,0 +1,1332 @@ +/** \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 <cmath> +#ifdef Q_OS_WIN + #ifndef NOMINMAX + #define NOMINMAX + #endif + #include <windows.h> +#endif + +#include "interface.h" +#include "ui_interface.h" +#include "factory.h" + +// The cmath header from MSVC does not contain round() +#if (defined(_WIN64) || defined(_WIN32)) && defined(_MSC_VER) +inline double round(double d) { + return floor( d + 0.5 ); +} +#endif + +QIcon Themes::player_pause=QIcon(QStringLiteral(":/Themes/Supercopier/resources/player_pause.png")); +QIcon Themes::player_play=QIcon(QStringLiteral(":/Themes/Supercopier/resources/player_play.png")); + +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) : + 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; + + 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->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); + ui->TransferList->setModel(&transferModel); + ui->tabWidget->setCurrentIndex(0); + uiOptions->toolBox->setCurrentIndex(0); + uiOptions->checkBoxShowSpeed->setChecked(checkBoxShowSpeed); + menu=new QMenu(this); + ui->add->setMenu(menu); + + #ifdef Q_OS_WIN32 + pixmapTop=QPixmap(":/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Windows.png"); + pixmapBottom=QPixmap(":/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Windows.png"); + #else + pixmapTop=QPixmap(":/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Unix.png"); + pixmapBottom=QPixmap(":/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Unix.png"); + #endif + + //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); + + shutdown=facilityEngine->haveFunctionality(QStringLiteral("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 + ui->ad_ultimate->hide(); + #else + QString ultimateUrl=facilityEngine->ultimateUrl(); + if(ultimateUrl.isEmpty()) + ui->ad_ultimate->hide(); + else + ui->ad_ultimate->setText(QStringLiteral("<a href=\"%1\">%2</a>").arg(ultimateUrl).arg(tr("Buy the Ultimate version to fund development"))); + #endif + + 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);}")); + + show(); + + sysTrayIcon = new QSystemTrayIcon(this); + connect(sysTrayIcon,&QSystemTrayIcon::activated,this,&Themes::catchAction); +} + +Themes::~Themes() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("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,facilityEngine->translateText(QStringLiteral("Copy engine"))); + } +} + +void Themes::closeEvent(QCloseEvent *event) +{ + event->ignore(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + this->hide(); + if(uiOptions->minimizeToSystray->isChecked()) + { + updateSysTrayIcon(); + sysTrayIcon->show(); + } + else + emit cancel(); +} + +void Themes::updateSysTrayIcon() +{ + if(totalSize==0) + { + sysTrayIcon->setIcon(dynaIcon(0,QStringLiteral("-"))); + 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(facilityEngine->sizeToString(currentSize)).arg(facilityEngine->sizeToString(totalSize))); +} + +void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,QStringLiteral("start: ")+QString::number(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(QStringLiteral("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(duration.elapsed()/1000); + ui->labelTimeRemaining->setText(QStringLiteral("<html><body style=\"white-space:nowrap;\">")+facilityEngine->translateText(QStringLiteral("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.start(); + durationStarted=true; + } + haveStarted=true; + ui->cancelButton->setText(facilityEngine->translateText(QStringLiteral("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 QString &path) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + QString newPath=path; + if(newPath.size()>(64+3)) + newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32); + if(action==Ultracopier::Listing) + ui->from->setText(newPath); +} + +void Themes::detectedSpeed(const quint64 &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,QStringLiteral("set max speed to: %1").arg(tempSpeed)); + ui->progressBarCurrentSpeed->setMaximum(tempSpeed); + } + ui->progressBarCurrentSpeed->setValue(tempSpeed); + ui->progressBarCurrentSpeed->setFormat(facilityEngine->speedToString(speed)); + } + else + ui->currentSpeed->setText(facilityEngine->speedToString(speed)); +} + +void Themes::remainingTime(const int &remainingSeconds) +{ + QString labelTimeRemaining(QStringLiteral("<html><body style=\"white-space:nowrap;\">")+facilityEngine->translateText(QStringLiteral("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 QString &source,const QString &destination,const QString &error) +{ + ui->errorList->addTopLevelItem(new QTreeWidgetItem(QStringList() << source << destination << 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 quint64 ¤t,const quint64 &total) +{ + currentSize=current; + totalSize=total; + if(total>0) + { + int newIndicator=((double)current/total)*65535; + ui->progressBar_all->setValue(newIndicator); + } + else + ui->progressBar_all->setValue(0); + if(current>0) + stat = status_started; + updateOverallInformation(); + if(isHidden()) + updateSysTrayIcon(); +} + +void Themes::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList) +{ + QList<Ultracopier::ProgressionItem> progressionListBis=progressionList; + transferModel.setFileProgression(progressionListBis); + updateCurrentFileInformation(); +} + +//edit the transfer list +/// \todo check and re-enable to selection +void Themes::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start, returnActions.size(): ")+QString::number(returnActions.size())); + QList<quint64> returnValue=transferModel.synchronizeItems(returnActions); + totalFile+=returnValue.first(); + totalSize+=returnValue.at(1); + currentFile+=returnValue.last(); + 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,QStringLiteral("transferModel.rowCount(): ")+QString::number(transferModel.rowCount())); +} + +void Themes::setCopyType(const Ultracopier::CopyType &type) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + this->type=type; + updateModeAndType(); +} + +void Themes::forceCopyMode(const Ultracopier::CopyMode &mode) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("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,QStringLiteral("start")); +// ui->moreButton->toggle(); +} + +void Themes::isInPause(const bool &isInPause) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("isInPause: ")+QString::number(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(facilityEngine->translateText(QStringLiteral("Resume"))); + else + ui->pauseButton->setText(facilityEngine->translateText(QStringLiteral("Start"))); + } + else + { + ui->pauseButton->setIcon(player_pause); + ui->pauseButton->setText(facilityEngine->translateText(QStringLiteral("Pause"))); + } +} + +void Themes::updateCurrentFileInformation() +{ + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(transfertItem.haveItem) + { + QString newPath=transfertItem.from; + if(newPath.size()>(64+3)) + newPath=newPath.mid(0,32)+QStringLiteral("...")+newPath.mid(newPath.size()-32,32); + ui->from->setText(newPath); + newPath=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(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,QStringLiteral("start")); + selectedItems=selectionModel->selectedRows(); + QList<int> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids << 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,QStringLiteral("start")); + selectedItems=selectionModel->selectedRows(); + QList<int> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids << 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,QStringLiteral("start")); + selectedItems=selectionModel->selectedRows(); + QList<int> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids << 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,QStringLiteral("start")); + selectedItems=selectionModel->selectedRows(); + QList<int> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids << 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,QStringLiteral("start")); + selectedItems=selectionModel->selectedRows(); + QList<int> ids; + int index=0; + const int &loop_size=selectedItems.size(); + while(index<loop_size) + { + ids << 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,QStringLiteral("start")); + this->hide(); + emit cancel(); +} + + +void Themes::speedWithProgressBar_toggled(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + ui->progressBarCurrentSpeed->setVisible(checked); + ui->currentSpeed->setVisible(!checked); +} + +void Themes::showDualProgression_toggled(bool checked) +{ + Q_UNUSED(checked); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + updateProgressionColorBar(); +} + +void Themes::checkBoxShowSpeed_toggled(bool checked) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("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,QStringLiteral("value: %1").arg(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,QStringLiteral("emit newSpeedLimitation(%1)").arg(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,QStringLiteral("checked, currentSpeed: %1").arg(currentSpeed)); + uiOptions->limitSpeed->setEnabled(false); + if(currentSpeed==0) + { + ui->SliderSpeed->setValue(0); + ui->label_SpeedMaxValue->setText(facilityEngine->translateText(QStringLiteral("Unlimited"))); + } + else if(currentSpeed<=1024) + { + if(currentSpeed!=1024) + { + currentSpeed=1024; + emit newSpeedLimitation(currentSpeed); + } + ui->SliderSpeed->setValue(1); + ui->label_SpeedMaxValue->setText(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(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(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(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(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,QStringLiteral("start")); + if(storeIsInPause) + emit resume(); + else + emit pause(); +} + +void Themes::on_skipButton_clicked() +{ + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(transfertItem.haveItem) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("skip at running: %1").arg(transfertItem.id)); + emit skip(transfertItem.id); + } + else + { + if(transferModel.rowCount()>1) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("skip at idle: %1").arg(transferModel.firstId())); + emit skip(transferModel.firstId()); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to skip the transfer, because no transfer running"); + } +} + +void Themes::updateModeAndType() +{ + menu->clear(); + if(modeIsForced) + { + menu->addAction(ui->actionAddFile); + if(type==Ultracopier::FileAndFolder) + menu->addAction(ui->actionAddFolder); + } + else + { + menu->addAction(ui->actionAddFileToCopy); + menu->addAction(ui->actionAddFileToMove); + if(type==Ultracopier::FileAndFolder) + { + menu->addAction(ui->actionAddFolderToCopy); + menu->addAction(ui->actionAddFolderToMove); + } + } +} + +void Themes::forcedModeAddFile() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + emit userAddFile(mode); +} + +void Themes::forcedModeAddFolder() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + emit userAddFolder(mode); +} + +void Themes::forcedModeAddFileToCopy() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + emit userAddFile(Ultracopier::Copy); +} + +void Themes::forcedModeAddFolderToCopy() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + emit userAddFolder(Ultracopier::Copy); +} + +void Themes::forcedModeAddFileToMove() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + emit userAddFile(Ultracopier::Move); +} + +void Themes::forcedModeAddFolderToMove() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("start")); + emit userAddFolder(Ultracopier::Move); +} + +void Themes::newLanguageLoaded() +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("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,facilityEngine->translateText(QStringLiteral("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(),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()); + 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,QStringLiteral("start")); + const QMimeData* mimeData = event->mimeData(); + if(mimeData->hasUrls()) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("hasUrls")); + emit urlDropped(mimeData->urls()); + event->acceptProposedAction(); + } +} + +void Themes::dragEnterEvent(QDragEnterEvent* event) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("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,QStringLiteral("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,QStringLiteral("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(): "+QString::number(uiOptions->alwaysOnTop->isChecked())+", flags: "+QString::number(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(""); + ui->progressBar_file->setStyleSheet(""); + ui->progressBarCurrentSpeed->setStyleSheet("");*/ + } + 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(facilityEngine->translateText("Transfer")).arg((currentSize*100)/totalSize).arg(facilityEngine->sizeToString(totalSize))+QStringLiteral(" - ")+facilityEngine->softwareName()); + else + { + if(mode==Ultracopier::Copy) + this->setWindowTitle(tr("%1 %2% of %3").arg(facilityEngine->translateText("Copy")).arg((currentSize*100)/totalSize).arg(facilityEngine->sizeToString(totalSize))+QStringLiteral(" - ")+facilityEngine->softwareName()); + else + this->setWindowTitle(tr("%1 %2% of %3").arg(facilityEngine->translateText("Move")).arg((currentSize*100)/totalSize).arg(facilityEngine->sizeToString(totalSize))+QStringLiteral(" - ")+facilityEngine->softwareName()); + } + } + else + { + if(!modeIsForced) + this->setWindowTitle(QStringLiteral("%1").arg(facilityEngine->translateText("Transfer"))+QStringLiteral(" - ")+facilityEngine->softwareName()); + else + { + if(mode==Ultracopier::Copy) + this->setWindowTitle(QStringLiteral("%1").arg(facilityEngine->translateText("Copy"))+QStringLiteral(" - ")+facilityEngine->softwareName()); + else + this->setWindowTitle(QStringLiteral("%1").arg(facilityEngine->translateText("Move"))+QStringLiteral(" - ")+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,QString 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.isEmpty()) + { + if(percent!=100) + text=QString::number(percent); + else + { + text=QStringLiteral(":)"); + #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,text); + painter.setPen(QPen(Qt::white)); + painter.drawText(2+textxOffset,12+textyOffset,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,QStringLiteral("reason: %1").arg(reason)); +} + +void Themes::on_exportErrorToTransferList_clicked() +{ + emit exportErrorIntoTransferList(); +} diff --git a/plugins-alternative/Themes/Supercopier/interface.h b/plugins-alternative/Themes/Supercopier/interface.h new file mode 100644 index 0000000..6929f07 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interface.h @@ -0,0 +1,221 @@ +/** \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); + ~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 QString &path); + /** \brief show the detected speed + * in byte per seconds */ + void detectedSpeed(const quint64 &speed); + /** \brief show the remaining time + * time in seconds */ + void remainingTime(const int &remainingSeconds); + /// \brief set the current collision action + void newCollisionAction(const QString &action); + /// \brief set the current error action + void newErrorAction(const QString &action); + /// \brief set one error is detected + void errorDetected(); + /// \brief new error + void errorToRetry(const QString &source,const QString &destination,const QString &error); + /** \brief support speed limitation */ + void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool); + //get information about the copy + /// \brief show the general progression + void setGeneralProgression(const quint64 ¤t,const quint64 &total); + /// \brief show the file progression + void setFileProgression(const QList<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 QList<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: + QTime duration; + bool durationStarted; + QPixmap pixmapTop,pixmapBottom; + QColor progressColorWrite,progressColorRead,progressColorRemaining; + Ui::interfaceCopy *ui; + Ui::themesOptions *uiOptions; + quint64 currentFile; + quint64 totalFile; + quint64 currentSize; + quint64 totalSize; + quint8 getOldProgression; + QSystemTrayIcon *sysTrayIcon; + void updateOverallInformation(); + void updateCurrentFileInformation(); + QMenu *menu; + Ultracopier::EngineActionInProgress action; + void closeEvent(QCloseEvent *event); + qint32 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; + + /** \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,QString text="") const; + void updateSysTrayIcon(); +signals: + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne) const; +}; + +#endif // INTERFACE_H diff --git a/plugins-alternative/Themes/Supercopier/interface.pro b/plugins-alternative/Themes/Supercopier/interface.pro new file mode 100644 index 0000000..809a84c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interface.pro @@ -0,0 +1,59 @@ +CONFIG += c++11 +QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra" +mac:QMAKE_CXXFLAGS+="-stdlib=libc++" + +QT += widgets +TEMPLATE = lib +CONFIG += plugin +HEADERS = interface.h \ + StructEnumDefinition.h \ + factory.h \ + DebugEngineMacro.h \ + Environment.h \ + Variable.h \ + ../../../interface/PluginInterface_Themes.h \ + ../../../interface/FacilityInterface.h \ + ../../../interface/OptionInterface.h \ + TransferModel.h +SOURCES = interface.cpp \ + factory.cpp \ + TransferModel.cpp +TARGET = $$qtLibraryTarget(interface) +TRANSLATIONS += Languages/ar/translation.ts \ + Languages/de/translation.ts \ + Languages/el/translation.ts \ + Languages/en/translation.ts \ + Languages/es/translation.ts \ + Languages/fr/translation.ts \ + Languages/hi/translation.ts \ + Languages/hu/translation.ts \ + Languages/id/translation.ts \ + Languages/it/translation.ts \ + Languages/ja/translation.ts \ + Languages/ko/translation.ts \ + Languages/nl/translation.ts \ + Languages/no/translation.ts \ + Languages/pl/translation.ts \ + Languages/pt/translation.ts \ + Languages/ru/translation.ts \ + Languages/th/translation.ts \ + Languages/tr/translation.ts \ + Languages/zh/translation.ts + +win32 { + RESOURCES += +} +!win32 { + RESOURCES += +} + +!CONFIG(static) { +RESOURCES += \ + interfaceResources.qrc \ + interfaceResources_unix.qrc \ + interfaceResources_windows.qrc +} + +FORMS += \ + interface.ui \ + themesOptions.ui diff --git a/plugins-alternative/Themes/Supercopier/interface.ui b/plugins-alternative/Themes/Supercopier/interface.ui new file mode 100644 index 0000000..e5b84a5 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interface.ui @@ -0,0 +1,845 @@ +<?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">Supercopier</string> + </property> + <property name="windowIcon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Supercopier/resources/main.png</normaloff>:/Themes/Supercopier/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> + <item> + <widget class="QLabel" name="ad_ultimate"> + <property name="openExternalLinks"> + <bool>true</bool> + </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 at the end of the transfers</string> + </property> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Supercopier/resources/SystemTrayIcon/exit.png</normaloff>:/Themes/Supercopier/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> + <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/Supercopier/resources/moveDown.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/player_pause.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/player_end.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/cancel.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/putOnTop.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/moveUp.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/moveDown.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/putOnBottom.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/remove.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/search.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/export-transfer-list.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/import-transfer-list.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/remove.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/export-transfer-list.png</normaloff>:/Themes/Supercopier/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>243</height> + </rect> + </property> + </widget> + </widget> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + <action name="actionAddFile"> + <property name="icon"> + <iconset resource="interfaceResources.qrc"> + <normaloff>:/Themes/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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/Supercopier/resources/add.png</normaloff>:/Themes/Supercopier/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-alternative/Themes/Supercopier/interfaceResources.qrc b/plugins-alternative/Themes/Supercopier/interfaceResources.qrc new file mode 100644 index 0000000..d8990aa --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interfaceResources.qrc @@ -0,0 +1,24 @@ +<RCC> + <qresource prefix="/Themes/Supercopier"> + <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> + <file>resources/progressbarleft.png</file> + <file>resources/progressbarright.png</file> + </qresource> +</RCC> diff --git a/plugins-alternative/Themes/Supercopier/interfaceResources_unix.qrc b/plugins-alternative/Themes/Supercopier/interfaceResources_unix.qrc new file mode 100644 index 0000000..52bc325 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interfaceResources_unix.qrc @@ -0,0 +1,9 @@ +<RCC> + <qresource prefix="/Themes/Supercopier"> + <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Semiuncaught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Uncaught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Top_Progress_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Bottom_Progress_Unix.png</file> + </qresource> +</RCC> diff --git a/plugins-alternative/Themes/Supercopier/interfaceResources_windows.qrc b/plugins-alternative/Themes/Supercopier/interfaceResources_windows.qrc new file mode 100644 index 0000000..aed7063 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/interfaceResources_windows.qrc @@ -0,0 +1,9 @@ +<RCC> + <qresource prefix="/Themes/Supercopier"> + <file>resources/SystemTrayIcon/systray_Caught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Semiuncaught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Uncaught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Top_Progress_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Bottom_Progress_Windows.png</file> + </qresource> +</RCC> diff --git a/plugins-alternative/Themes/Supercopier/plugin.json b/plugins-alternative/Themes/Supercopier/plugin.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/plugin.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/add.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/add.png Binary files differnew file mode 100644 index 0000000..d41fce6 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/add.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/exit.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/exit.png Binary files differnew file mode 100644 index 0000000..9599bba --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/exit.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/informations.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/informations.png Binary files differnew file mode 100644 index 0000000..86c9ba6 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/informations.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/options.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/options.png Binary files differnew file mode 100644 index 0000000..cf699d5 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/options.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Unix.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Unix.png Binary files differnew file mode 100644 index 0000000..543aaf1 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Unix.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Windows.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Windows.png Binary files differnew file mode 100644 index 0000000..ff110d9 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Bottom_Progress_Windows.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png Binary files differnew file mode 100644 index 0000000..be2ba20 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Unix.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png Binary files differnew file mode 100644 index 0000000..9c597af --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Caught_Windows.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png Binary files differnew file mode 100644 index 0000000..be2ba20 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png Binary files differnew file mode 100644 index 0000000..9c597af --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Unix.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Unix.png Binary files differnew file mode 100644 index 0000000..1d93cb1 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Unix.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Windows.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Windows.png Binary files differnew file mode 100644 index 0000000..2074ee8 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Top_Progress_Windows.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png Binary files differnew file mode 100644 index 0000000..4da8cc0 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Unix.png diff --git a/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png Binary files differnew file mode 100644 index 0000000..8bfbcf9 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/SystemTrayIcon/systray_Uncaught_Windows.png diff --git a/plugins-alternative/Themes/Supercopier/resources/add.png b/plugins-alternative/Themes/Supercopier/resources/add.png Binary files differnew file mode 100644 index 0000000..af8a401 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/add.png diff --git a/plugins-alternative/Themes/Supercopier/resources/cancel.png b/plugins-alternative/Themes/Supercopier/resources/cancel.png Binary files differnew file mode 100644 index 0000000..1e7579c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/cancel.png diff --git a/plugins-alternative/Themes/Supercopier/resources/export-transfer-list.png b/plugins-alternative/Themes/Supercopier/resources/export-transfer-list.png Binary files differnew file mode 100644 index 0000000..2bcc455 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/export-transfer-list.png diff --git a/plugins-alternative/Themes/Supercopier/resources/import-transfer-list.png b/plugins-alternative/Themes/Supercopier/resources/import-transfer-list.png Binary files differnew file mode 100644 index 0000000..d208342 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/import-transfer-list.png diff --git a/plugins-alternative/Themes/Supercopier/resources/main.png b/plugins-alternative/Themes/Supercopier/resources/main.png Binary files differnew file mode 100644 index 0000000..9bec399 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/main.png diff --git a/plugins-alternative/Themes/Supercopier/resources/moveDown.png b/plugins-alternative/Themes/Supercopier/resources/moveDown.png Binary files differnew file mode 100644 index 0000000..7f4ff27 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/moveDown.png diff --git a/plugins-alternative/Themes/Supercopier/resources/moveUp.png b/plugins-alternative/Themes/Supercopier/resources/moveUp.png Binary files differnew file mode 100644 index 0000000..9397b76 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/moveUp.png diff --git a/plugins-alternative/Themes/Supercopier/resources/player_end.png b/plugins-alternative/Themes/Supercopier/resources/player_end.png Binary files differnew file mode 100644 index 0000000..9730302 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/player_end.png diff --git a/plugins-alternative/Themes/Supercopier/resources/player_pause.png b/plugins-alternative/Themes/Supercopier/resources/player_pause.png Binary files differnew file mode 100644 index 0000000..429ae43 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/player_pause.png diff --git a/plugins-alternative/Themes/Supercopier/resources/player_play.png b/plugins-alternative/Themes/Supercopier/resources/player_play.png Binary files differnew file mode 100644 index 0000000..a28ac73 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/player_play.png diff --git a/plugins-alternative/Themes/Supercopier/resources/progressbarleft.png b/plugins-alternative/Themes/Supercopier/resources/progressbarleft.png Binary files differnew file mode 100644 index 0000000..bbee9c8 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/progressbarleft.png diff --git a/plugins-alternative/Themes/Supercopier/resources/progressbarright.png b/plugins-alternative/Themes/Supercopier/resources/progressbarright.png Binary files differnew file mode 100644 index 0000000..93e5781 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/progressbarright.png diff --git a/plugins-alternative/Themes/Supercopier/resources/putOnBottom.png b/plugins-alternative/Themes/Supercopier/resources/putOnBottom.png Binary files differnew file mode 100644 index 0000000..9ac517c --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/putOnBottom.png diff --git a/plugins-alternative/Themes/Supercopier/resources/putOnTop.png b/plugins-alternative/Themes/Supercopier/resources/putOnTop.png Binary files differnew file mode 100644 index 0000000..5682829 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/putOnTop.png diff --git a/plugins-alternative/Themes/Supercopier/resources/remove.png b/plugins-alternative/Themes/Supercopier/resources/remove.png Binary files differnew file mode 100644 index 0000000..3a2a9f1 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/remove.png diff --git a/plugins-alternative/Themes/Supercopier/resources/search.png b/plugins-alternative/Themes/Supercopier/resources/search.png Binary files differnew file mode 100644 index 0000000..567f498 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/resources/search.png diff --git a/plugins-alternative/Themes/Supercopier/themesOptions.ui b/plugins-alternative/Themes/Supercopier/themesOptions.ui new file mode 100644 index 0000000..46c7f97 --- /dev/null +++ b/plugins-alternative/Themes/Supercopier/themesOptions.ui @@ -0,0 +1,384 @@ +<?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>540</width> + <height>325</height> + </rect> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="spacing"> + <number>0</number> + </property> + <property name="margin"> + <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>530</width> + <height>237</height> + </rect> + </property> + <attribute name="label"> + <string>Use</string> + </attribute> + <layout class="QGridLayout" name="gridLayout"> + <item row="0" 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="0" column="2"> + <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="1" column="2"> + <widget class="QCheckBox" name="alwaysOnTop"/> + </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="2"> + <widget class="QCheckBox" name="minimizeToSystray"/> + </item> + <item row="3" 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="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_Slider_speed"> + <property name="text"> + <string>Limit copy speed to</string> + </property> + </widget> + </item> + <item row="4" 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="4" column="2"> + <widget class="QLabel" name="label_SpeedMaxValue"> + <property name="text"> + <string notr="true">Unlimited</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QCheckBox" name="checkBox_limitSpeed"> + <property name="text"> + <string>Limit copy speed to</string> + </property> + </widget> + </item> + <item row="5" 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="6" column="2"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>71</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_3"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>241</width> + <height>33</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="1"> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>201</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_2"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>441</width> + <height>107</height> + </rect> + </property> + <attribute name="label"> + <string>Display</string> + </attribute> + <layout class="QGridLayout" name="gridLayout_3"> + <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="2"> + <widget class="QCheckBox" name="speedWithProgressBar"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Show progression in the title</string> + </property> + </widget> + </item> + <item row="1" column="2"> + <widget class="QCheckBox" name="showProgressionInTheTitle"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="labelDualProgression"> + <property name="text"> + <string>Show dual progression</string> + </property> + </widget> + </item> + <item row="2" column="2"> + <widget class="QCheckBox" name="showDualProgression"/> + </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="2"> + <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_3"> + <property name="spacing"> + <number>0</number> + </property> + <property name="margin"> + <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="1"> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>127</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections> + <connection> + <sender>checkBox_limitSpeed</sender> + <signal>clicked(bool)</signal> + <receiver>limitSpeed</receiver> + <slot>setEnabled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>109</x> + <y>144</y> + </hint> + <hint type="destinationlabel"> + <x>199</x> + <y>144</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/plugins-alternative/Themes/Teracopy/DebugEngineMacro.h b/plugins-alternative/Themes/Teracopy/DebugEngineMacro.h index a3dd648..4582010 100644 --- a/plugins-alternative/Themes/Teracopy/DebugEngineMacro.h +++ b/plugins-alternative/Themes/Teracopy/DebugEngineMacro.h @@ -1,12 +1,15 @@ /** \file DebugEngineMacro.h \brief Define the macro for the debug \author alpha_one_x86 -\version 0.3 -\date 2010 */ +\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__) diff --git a/plugins-alternative/Themes/Teracopy/Environment.h b/plugins-alternative/Themes/Teracopy/Environment.h index 94fd104..265a5a6 100644 --- a/plugins-alternative/Themes/Teracopy/Environment.h +++ b/plugins-alternative/Themes/Teracopy/Environment.h @@ -1,8 +1,7 @@ /** \file Environment.h
\brief Define the environment variable and global function
\author alpha_one_x86
-\version 0.3
-\date 2010 */
+\licence GPL3, see the file COPYING */
#include "Variable.h"
/// \brief The global include
diff --git a/plugins-alternative/Themes/Teracopy/Languages/ar/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/ar/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/ar/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/ar/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/de/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/de/translation.ts index 237dc4f..a2da10c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/de/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/de/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0" language="de" sourcelanguage="en"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation>Total: %1 von %2</translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation>%1 von %2</translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation>%1% erledigt</translation> </message> @@ -24,27 +24,27 @@ <message> <location filename="../../interface.ui" line="159"/> <source>&More</source> - <translation>Mehr</translation> + <translation>&Mehr</translation> </message> <message> <location filename="../../interface.ui" line="172"/> <source>...</source> - <translation></translation> + <translation>...</translation> </message> <message> <location filename="../../interface.ui" line="210"/> <source>&Pause</source> - <translation></translation> + <translation>&Pause</translation> </message> <message> <location filename="../../interface.ui" line="232"/> <source>&Skip</source> - <translation>überspringen</translation> + <translation>überspringen (&S)</translation> </message> <message> <location filename="../../interface.ui" line="251"/> <source>&Cancel</source> - <translation>Stornieren</translation> + <translation>Abbrechen (&C)</translation> </message> <message> <location filename="../../interface.ui" line="281"/> @@ -72,22 +72,22 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../interface.ui" line="326"/> <source>Move file(s)</source> - <translation>Bewegen Sie Datei (en)</translation> + <translation>Datei (en) verschieben</translation> </message> <message> <location filename="../../interface.ui" line="335"/> <source>Move folder</source> - <translation>bewegen Sie Ordner</translation> + <translation>Ordner verschieben</translation> </message> <message> <location filename="../../interface.ui" line="344"/> <source>Copy file(s)</source> - <translation>Kopieren Sie die Datei (en)</translation> + <translation>Datei (en) kopieren</translation> </message> <message> <location filename="../../interface.ui" line="353"/> <source>Copy folder</source> - <translation>kopieren Sie das Verzeichnis</translation> + <translation>Verzeichnis kopieren</translation> </message> </context> </TS> diff --git a/plugins-alternative/Themes/Teracopy/Languages/el/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/el/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/el/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/el/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/en/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/en/translation.ts new file mode 100644 index 0000000..d9fb1d6 --- /dev/null +++ b/plugins-alternative/Themes/Teracopy/Languages/en/translation.ts @@ -0,0 +1,89 @@ +<?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="95"/> + <source>Total: %1 of %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="96"/> + <source>%1 of %2</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="250"/> + <source>%1% done</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="159"/> + <source>&More</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="172"/> + <source>...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="210"/> + <source>&Pause</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="232"/> + <source>&Skip</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="251"/> + <source>&Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="281"/> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://ultracopier.first-world.info/"><span style=" font-size:8pt; text-decoration: underline; color:#0057ae;">Support Ultracopier</span></a></p></body></html></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="308"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="317"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="335"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="344"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="353"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Teracopy/Languages/es/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/es/translation.ts index fe526da..5081c0f 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/es/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/es/translation.ts @@ -2,21 +2,21 @@ <!DOCTYPE TS> <TS version="2.0" language="es" sourcelanguage="en"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> - <translation>Total: %1 de %2</translation> + <translation type="unfinished">Total: %1 de %2</translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> - <translation>%1 de %2</translation> + <translation type="unfinished">%1 de %2</translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> - <translation>%1% hecho</translation> + <translation type="unfinished">%1% hecho</translation> </message> </context> <context> diff --git a/plugins-alternative/Themes/Teracopy/Languages/fr/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/fr/translation.ts index 42ac61d..fd6eaa1 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/fr/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/fr/translation.ts @@ -2,20 +2,21 @@ <!DOCTYPE TS> <TS version="2.0" language="fr" sourcelanguage="en"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation>Total: %1 sur %2</translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation>%1 sur %2</translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> + <translatorcomment>Exemple: 90% fait</translatorcomment> <translation>%1% fait</translation> </message> </context> diff --git a/plugins-alternative/Themes/Teracopy/Languages/hi/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/hi/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/hi/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/hi/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/hu/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/hu/translation.ts new file mode 100644 index 0000000..3d940b4 --- /dev/null +++ b/plugins-alternative/Themes/Teracopy/Languages/hu/translation.ts @@ -0,0 +1,93 @@ +<?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="95"/> + <source>Total: %1 of %2</source> + <translation>Összesen: %1 / %2</translation> + </message> + <message> + <location filename="../../interface.cpp" line="96"/> + <source>%1 of %2</source> + <translation>%1 / %2</translation> + </message> + <message> + <location filename="../../interface.cpp" line="250"/> + <source>%1% done</source> + <translation>%1% kész</translation> + </message> +</context> +<context> + <name>interfaceCopy</name> + <message> + <location filename="../../interface.ui" line="159"/> + <source>&More</source> + <translation>&Több</translation> + </message> + <message> + <location filename="../../interface.ui" line="172"/> + <source>...</source> + <translation>...</translation> + </message> + <message> + <location filename="../../interface.ui" line="210"/> + <source>&Pause</source> + <translation>&Szünet</translation> + </message> + <message> + <location filename="../../interface.ui" line="232"/> + <source>&Skip</source> + <translation>&Kihagy</translation> + </message> + <message> + <location filename="../../interface.ui" line="251"/> + <source>&Cancel</source> + <translation>&Mégse</translation> + </message> + <message> + <location filename="../../interface.ui" line="281"/> + <source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://ultracopier.first-world.info/"><span style=" font-size:8pt; text-decoration: underline; color:#0057ae;">Support Ultracopier</span></a></p></body></html></source> + <translation><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://ultracopier.first-world.info/"><span style=" font-size:8pt; text-decoration: underline; color:#0057ae;">Támogasd az Ultracopier-t</span></a></p></body></html></translation> + </message> + <message> + <location filename="../../interface.ui" line="308"/> + <source>Add file</source> + <translation>Fájl hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="317"/> + <source>Add folder</source> + <translation>Mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="326"/> + <source>Move file(s)</source> + <translation>Fájl(ok) mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="335"/> + <source>Move folder</source> + <translation>Mappa mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="344"/> + <source>Copy file(s)</source> + <translation>Fájl(ok) másolása</translation> + </message> + <message> + <location filename="../../interface.ui" line="353"/> + <source>Copy folder</source> + <translation>Mappa másolása</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Teracopy/Languages/id/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/id/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/id/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/id/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/it/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/it/translation.ts index 746b8a6..31d775e 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/it/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/it/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0" language="it" sourcelanguage="en"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation>Totale: %1 di %2</translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation>%1 di %2</translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation>%1% fatto</translation> </message> @@ -24,27 +24,27 @@ <message> <location filename="../../interface.ui" line="159"/> <source>&More</source> - <translation>Di più</translation> + <translation>Alt&o</translation> </message> <message> <location filename="../../interface.ui" line="172"/> <source>...</source> - <translation></translation> + <translation>...</translation> </message> <message> <location filename="../../interface.ui" line="210"/> <source>&Pause</source> - <translation>Pausa</translation> + <translation>&Pausa</translation> </message> <message> <location filename="../../interface.ui" line="232"/> <source>&Skip</source> - <translation>Saltare</translation> + <translation>&Salta</translation> </message> <message> <location filename="../../interface.ui" line="251"/> <source>&Cancel</source> - <translation>Annullare</translation> + <translation>&Annulla</translation> </message> <message> <location filename="../../interface.ui" line="281"/> @@ -57,7 +57,7 @@ p, li { white-space: pre-wrap; } <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://ultracopier.first-world.info/"><span style=" font-size:8pt; text-decoration: underline; color:#0057ae;">Sostenere Ultracopier</span></a></p></body></html></translation> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://ultracopier.first-world.info/"><span style=" font-size:8pt; text-decoration: underline; color:#0057ae;">Supporto Ultracopier</span></a></p></body></html></translation> </message> <message> <location filename="../../interface.ui" line="308"/> @@ -72,17 +72,17 @@ p, li { white-space: pre-wrap; } <message> <location filename="../../interface.ui" line="326"/> <source>Move file(s)</source> - <translation>Spostare file(s)</translation> + <translation>Sposta file</translation> </message> <message> <location filename="../../interface.ui" line="335"/> <source>Move folder</source> - <translation>Spostare la cartella</translation> + <translation>Sposta la cartella</translation> </message> <message> <location filename="../../interface.ui" line="344"/> <source>Copy file(s)</source> - <translation>Copiare il file(s)</translation> + <translation>Copia file</translation> </message> <message> <location filename="../../interface.ui" line="353"/> diff --git a/plugins-alternative/Themes/Teracopy/Languages/ja/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/ja/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/ja/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/ja/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/ko/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/ko/translation.ts index 6c66c5a..06946e9 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/ko/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/ko/translation.ts @@ -2,9 +2,9 @@ <!DOCTYPE TS> <TS version="2.0" language="ko_KR"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="+76"/> + <location filename="../../interface.cpp" line="+95"/> <source>Total: %1 of %2</source> <translation type="unfinished">전체: %3 / %2 {1 ?}</translation> </message> @@ -14,7 +14,7 @@ <translation type="unfinished">%1 / %2</translation> </message> <message> - <location line="+135"/> + <location line="+154"/> <source>%1% done</source> <translation type="unfinished">%1% 완료</translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/nl/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/nl/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/nl/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/nl/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/no/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/no/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/no/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/no/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/pl/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/pl/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/pl/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/pl/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/ru/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/ru/translation.ts index 1219c56..db1059e 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/ru/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/ru/translation.ts @@ -2,21 +2,21 @@ <!DOCTYPE TS> <TS version="2.0" language="ru" sourcelanguage="et"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> - <translation>Всего: %1 из %2</translation> + <translation type="unfinished">Всего: %1 из %2</translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> - <translation>%1 из %2</translation> + <translation type="unfinished">%1 из %2</translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> - <translation>%1% сделанный</translation> + <translation type="unfinished">%1% сделанный</translation> </message> </context> <context> diff --git a/plugins-alternative/Themes/Teracopy/Languages/th/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/th/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/th/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/th/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/tr/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/tr/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/tr/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/tr/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/Languages/zh/translation.ts b/plugins-alternative/Themes/Teracopy/Languages/zh/translation.ts index 33cd084..b76694c 100644 --- a/plugins-alternative/Themes/Teracopy/Languages/zh/translation.ts +++ b/plugins-alternative/Themes/Teracopy/Languages/zh/translation.ts @@ -2,19 +2,19 @@ <!DOCTYPE TS> <TS version="2.0"> <context> - <name>InterfacePlugin</name> + <name>Themes</name> <message> - <location filename="../../interface.cpp" line="76"/> + <location filename="../../interface.cpp" line="95"/> <source>Total: %1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="77"/> + <location filename="../../interface.cpp" line="96"/> <source>%1 of %2</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../../interface.cpp" line="212"/> + <location filename="../../interface.cpp" line="250"/> <source>%1% done</source> <translation type="unfinished"></translation> </message> diff --git a/plugins-alternative/Themes/Teracopy/TransferModel.cpp b/plugins-alternative/Themes/Teracopy/TransferModel.cpp index 569d31c..24812a0 100644 --- a/plugins-alternative/Themes/Teracopy/TransferModel.cpp +++ b/plugins-alternative/Themes/Teracopy/TransferModel.cpp @@ -6,145 +6,146 @@ TransferModel::TransferModel() { - iconStart=QIcon(":/resources/player_play.png"); - iconPause=QIcon(":/resources/player_pause.png"); - iconStop=QIcon(":/resources/checkbox.png"); - currentIndexSearch=0; - haveSearchItem=false; + iconStart=QIcon(":/Themes/Teracopy/resources/player_play.png"); + iconPause=QIcon(":/Themes/Teracopy/resources/player_pause.png"); + iconStop=QIcon(":/Themes/Teracopy/resources/checkbox.png"); + currentIndexSearch=0; + haveSearchItem=false; + facilityEngine=NULL; } int TransferModel::columnCount( const QModelIndex& parent ) const { - return parent == QModelIndex() ? COLUMN_COUNT : 0; + return parent == QModelIndex() ? COLUMN_COUNT : 0; } QVariant TransferModel::data( const QModelIndex& index, int role ) const { - int row,column; - row=index.row(); - column=index.column(); - if(index.parent()!=QModelIndex() || row < 0 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT) - return QVariant(); + int row,column; + row=index.row(); + column=index.column(); + if(index.parent()!=QModelIndex() || row < 0 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT) + return QVariant(); - const transfertItem& item = transfertItemList[row]; - if(role==Qt::UserRole) - return item.id; - else if(role==Qt::DisplayRole) - { - switch(column) - { - case 0: - return item.source; - break; - case 1: - return item.size; - break; - case 2: - return item.destination; - break; - default: - return QVariant(); - } - } - else if(role==Qt::DecorationRole) - { - switch(column) - { - case 0: - /*if(item.done) - return iconStop; - else */if(stopId.contains(item.id)) - return iconPause; - else if(startId.contains(item.id)) - return iconStart; - else - return QVariant(); - break; - default: - return QVariant(); - } - } - else if(role==Qt::BackgroundRole) - { - if(!search_text.isEmpty() && (item.source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || item.destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1)) - { - if(haveSearchItem && searchId==item.id) - return QColor(255,150,150,100); - else - return QColor(255,255,0,100); - } - else - return QVariant(); - } - return QVariant(); + const transfertItem& item = transfertItemList[row]; + if(role==Qt::UserRole) + return item.id; + else if(role==Qt::DisplayRole) + { + switch(column) + { + case 0: + return item.source; + break; + case 1: + return item.size; + break; + case 2: + return item.destination; + break; + default: + return QVariant(); + } + } + else if(role==Qt::DecorationRole) + { + switch(column) + { + case 0: + /*if(item.done) + return iconStop; + else */if(stopId.contains(item.id)) + return iconPause; + else if(startId.contains(item.id)) + return iconStart; + else + return QVariant(); + break; + default: + return QVariant(); + } + } + else if(role==Qt::BackgroundRole) + { + if(!search_text.isEmpty() && (item.source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || item.destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1)) + { + if(haveSearchItem && searchId==item.id) + return QColor(255,150,150,100); + else + return QColor(255,255,0,100); + } + else + return QVariant(); + } + return QVariant(); } int TransferModel::rowCount( const QModelIndex& parent ) const { - return parent == QModelIndex() ? transfertItemList.count() : 0; + return parent == QModelIndex() ? transfertItemList.count() : 0; } quint64 TransferModel::firstId() { - if(transfertItemList.count()>0) - return transfertItemList[0].id; - else - return 0; + if(transfertItemList.count()>0) + return transfertItemList[0].id; + else + return 0; } QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const { - if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) { - switch ( section ) { - case 0: - return facilityEngine->translateText("Source"); - case 1: - return facilityEngine->translateText("Size"); - case 2: - return facilityEngine->translateText("Destination"); - } - } + if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) { + switch ( section ) { + case 0: + return facilityEngine->translateText("Source"); + case 1: + return facilityEngine->translateText("Size"); + case 2: + return facilityEngine->translateText("Destination"); + } + } - return QAbstractTableModel::headerData( section, orientation, role ); + return QAbstractTableModel::headerData( section, orientation, role ); } bool TransferModel::setData( const QModelIndex& index, const QVariant& value, int role ) { - row=index.row(); - column=index.column(); - if(index.parent()!=QModelIndex() || row < 0 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT) - return false; + row=index.row(); + column=index.column(); + if(index.parent()!=QModelIndex() || row < 0 || row >= transfertItemList.count() || column < 0 || column >= COLUMN_COUNT) + return false; - transfertItem& item = transfertItemList[row]; - if(role==Qt::UserRole) - { - item.id=value.toULongLong(); - return true; - } - else if(role==Qt::DisplayRole) - { - switch(column) - { - case 0: - item.source=value.toString(); - emit dataChanged(index,index); - return true; - break; - case 1: - item.size=value.toString(); - emit dataChanged(index,index); - return true; - break; - case 2: - item.destination=value.toString(); - emit dataChanged(index,index); - return true; - break; - default: - return false; - } - } - return false; + transfertItem& item = transfertItemList[row]; + if(role==Qt::UserRole) + { + item.id=value.toULongLong(); + return true; + } + else if(role==Qt::DisplayRole) + { + switch(column) + { + case 0: + item.source=value.toString(); + emit dataChanged(index,index); + return true; + break; + case 1: + item.size=value.toString(); + emit dataChanged(index,index); + return true; + break; + case 2: + item.destination=value.toString(); + emit dataChanged(index,index); + return true; + break; + default: + return false; + } + } + return false; } /* @@ -152,290 +153,376 @@ bool TransferModel::setData( const QModelIndex& index, const QVariant& value, in Return[1]: totalSize Return[2]: currentFile */ -QList<quint64> TransferModel::synchronizeItems(const QList<returnActionOnCopyList>& returnActions) +QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) { - loop_size=returnActions.size(); - index_for_loop=0; - totalFile=0; - totalSize=0; - currentFile=0; - emit layoutAboutToBeChanged(); - while(index_for_loop<loop_size) - { - const returnActionOnCopyList& action=returnActions.at(index_for_loop); - switch(action.type) - { - case 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; + loop_size=returnActions.size(); + index_for_loop=0; + totalFile=0; + totalSize=0; + currentFile=0; + emit layoutAboutToBeChanged(); + while(index_for_loop<loop_size) + { + const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop); + switch(action.type) + { + case Ultracopier::AddingItem: + { + transfertItem newItem; + newItem.id=action.addAction.id; + newItem.source=action.addAction.sourceFullPath; + newItem.size=facilityEngine->sizeToString(action.addAction.size); + newItem.destination=action.addAction.destinationFullPath; // newItem.done=false; - transfertItemList<<newItem; - totalFile++; - totalSize+=action.addAction.size; - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, size: %2, name: %3").arg(action.addAction.id).arg(action.addAction.size).arg(action.addAction.sourceFullPath)); - } - break; - case MoveItem: - { - //bool current_entry= - if(action.userAction.position<0) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); - break; - } - if(action.userAction.position>(transfertItemList.size()-1)) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); - break; - } - if(action.userAction.moveAt<0) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); - break; - } - if(action.userAction.moveAt>(transfertItemList.size()-1)) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); - break; - } - transfertItemList.move(action.userAction.position,action.userAction.moveAt); - } - break; - case RemoveItem: - { - if(currentIndexSearch>0 && action.userAction.position<=currentIndexSearch) - currentIndexSearch--; - if(action.userAction.position<0) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); - break; - } - if(action.userAction.position>(transfertItemList.size()-1)) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); - break; - } - transfertItemList.removeAt(action.userAction.position); - currentFile++; - startId.remove(action.addAction.id); - stopId.remove(action.addAction.id); - } - break; - case PreOperation: - { - ItemOfCopyListWithMoreInformations tempItem; - tempItem.currentProgression=0; - tempItem.generalData=action.addAction; - tempItem.actionType=action.type; - internalRunningOperation[action.addAction.id]=tempItem; - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("set for file %1: actionType: PreOperation").arg(action.addAction.id)); - } - break; - case Transfer: - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("found entry for file %1: actionType: Transfer").arg(action.addAction.id)); - if(!startId.contains(action.addAction.id)) - startId << action.addAction.id; - stopId.remove(action.addAction.id); - if(internalRunningOperation.contains(action.addAction.id)) - internalRunningOperation[action.addAction.id].actionType=action.type; - else - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,QString("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id)); - } - break; - case PostOperation: - { - if(!stopId.contains(action.addAction.id)) - stopId << action.addAction.id; - startId.remove(action.addAction.id); - internalRunningOperation.remove(action.addAction.id); - } - break; - case CustomOperation: - { - bool custom_with_progression=(action.addAction.size==1); - //without progression - if(custom_with_progression) - { - if(startId.remove(action.addAction.id)) - if(!stopId.contains(action.addAction.id)) - stopId << action.addAction.id; - } - //with progression - else - { - stopId.remove(action.addAction.id); - if(!startId.contains(action.addAction.id)) - startId << action.addAction.id; - } - if(internalRunningOperation.contains(action.addAction.id)) - { - ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; - item.actionType=action.type; - item.custom_with_progression=custom_with_progression; - item.currentProgression=0; - } - } - break; - default: - //unknow code, ignore it - break; - } - index_for_loop++; - } - emit layoutChanged(); - return QList<quint64>() << totalFile << totalSize << currentFile; + transfertItemList<<newItem; + totalFile++; + totalSize+=action.addAction.size; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, size: %2, name: %3").arg(action.addAction.id).arg(action.addAction.size).arg(action.addAction.sourceFullPath)); + } + break; + case Ultracopier::MoveItem: + { + //bool current_entry= + if(action.userAction.position<0) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + if(action.userAction.position>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + if(action.userAction.moveAt<0) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + if(action.userAction.moveAt>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + transfertItemList.move(action.userAction.position,action.userAction.moveAt); + } + break; + case Ultracopier::RemoveItem: + { + if(currentIndexSearch>0 && action.userAction.position<=currentIndexSearch) + currentIndexSearch--; + if(action.userAction.position<0) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + if(action.userAction.position>(transfertItemList.size()-1)) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("id: %1, position is wrong: %3").arg(action.addAction.id).arg(action.userAction.position)); + break; + } + transfertItemList.removeAt(action.userAction.position); + currentFile++; + startId.remove(action.addAction.id); + stopId.remove(action.addAction.id); + internalRunningOperation.remove(action.addAction.id); + } + break; + case Ultracopier::PreOperation: + { + ItemOfCopyListWithMoreInformations tempItem; + tempItem.currentReadProgression=0; + tempItem.currentWriteProgression=0; + tempItem.generalData=action.addAction; + tempItem.actionType=action.type; + internalRunningOperation[action.addAction.id]=tempItem; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("set for file %1: actionType: PreOperation").arg(action.addAction.id)); + } + break; + case Ultracopier::Transfer: + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("found entry for file %1: actionType: Transfer").arg(action.addAction.id)); + if(!startId.contains(action.addAction.id)) + startId << action.addAction.id; + stopId.remove(action.addAction.id); + if(internalRunningOperation.contains(action.addAction.id)) + internalRunningOperation[action.addAction.id].actionType=action.type; + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id)); + } + break; + case Ultracopier::PostOperation: + { + if(!stopId.contains(action.addAction.id)) + stopId << action.addAction.id; + startId.remove(action.addAction.id); + } + break; + case Ultracopier::CustomOperation: + { + bool custom_with_progression=(action.addAction.size==1); + //without progression + if(custom_with_progression) + { + if(startId.remove(action.addAction.id)) + if(!stopId.contains(action.addAction.id)) + stopId << action.addAction.id; + } + //with progression + else + { + stopId.remove(action.addAction.id); + if(!startId.contains(action.addAction.id)) + startId << action.addAction.id; + } + if(internalRunningOperation.contains(action.addAction.id)) + { + ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; + item.actionType=action.type; + item.custom_with_progression=custom_with_progression; + item.currentReadProgression=0; + item.currentWriteProgression=0; + } + } + break; + default: + //unknow code, ignore it + break; + } + index_for_loop++; + } + emit layoutChanged(); + return QList<quint64>() << totalFile << totalSize << currentFile; } void TransferModel::setFacilityEngine(FacilityInterface * facilityEngine) { - this->facilityEngine=facilityEngine; + this->facilityEngine=facilityEngine; } int TransferModel::search(const QString &text,bool searchNext) { - emit layoutAboutToBeChanged(); - search_text=text; - emit layoutChanged(); - if(transfertItemList.size()==0) - return -1; - if(text.isEmpty()) - return -1; - if(searchNext) - { - currentIndexSearch++; - if(currentIndexSearch>=loop_size) - currentIndexSearch=0; - } - index_for_loop=0; - loop_size=transfertItemList.size(); - while(index_for_loop<loop_size) - { - if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1) - { - haveSearchItem=true; - searchId=transfertItemList.at(currentIndexSearch).id; - return currentIndexSearch; - } - currentIndexSearch++; - if(currentIndexSearch>=loop_size) - currentIndexSearch=0; - index_for_loop++; - } - haveSearchItem=false; - return -1; + emit layoutAboutToBeChanged(); + search_text=text; + emit layoutChanged(); + if(transfertItemList.size()==0) + return -1; + if(text.isEmpty()) + return -1; + if(searchNext) + { + currentIndexSearch++; + if(currentIndexSearch>=loop_size) + currentIndexSearch=0; + } + index_for_loop=0; + loop_size=transfertItemList.size(); + while(index_for_loop<loop_size) + { + if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1) + { + haveSearchItem=true; + searchId=transfertItemList.at(currentIndexSearch).id; + return currentIndexSearch; + } + currentIndexSearch++; + if(currentIndexSearch>=loop_size) + currentIndexSearch=0; + index_for_loop++; + } + haveSearchItem=false; + return -1; } int TransferModel::searchPrev(const QString &text) { - emit layoutAboutToBeChanged(); - search_text=text; - emit layoutChanged(); - if(transfertItemList.size()==0) - return -1; - if(text.isEmpty()) - return -1; - if(currentIndexSearch==0) - currentIndexSearch=loop_size-1; - else - currentIndexSearch--; - index_for_loop=0; - loop_size=transfertItemList.size(); - while(index_for_loop<loop_size) - { - if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1) - { - haveSearchItem=true; - searchId=transfertItemList.at(currentIndexSearch).id; - return currentIndexSearch; - } - if(currentIndexSearch==0) - currentIndexSearch=loop_size-1; - else - currentIndexSearch--; - index_for_loop++; - } - haveSearchItem=false; - return -1; + emit layoutAboutToBeChanged(); + search_text=text; + emit layoutChanged(); + if(transfertItemList.size()==0) + return -1; + if(text.isEmpty()) + return -1; + if(currentIndexSearch==0) + currentIndexSearch=loop_size-1; + else + currentIndexSearch--; + index_for_loop=0; + loop_size=transfertItemList.size(); + while(index_for_loop<loop_size) + { + if(transfertItemList.at(currentIndexSearch).source.indexOf(search_text,0,Qt::CaseInsensitive)!=-1 || transfertItemList.at(currentIndexSearch).destination.indexOf(search_text,0,Qt::CaseInsensitive)!=-1) + { + haveSearchItem=true; + searchId=transfertItemList.at(currentIndexSearch).id; + return currentIndexSearch; + } + if(currentIndexSearch==0) + currentIndexSearch=loop_size-1; + else + currentIndexSearch--; + index_for_loop++; + } + haveSearchItem=false; + return -1; } -void TransferModel::setFileProgression(QList<ProgressionItem> &progressionList) +void TransferModel::setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList) { - loop_size=progressionList.size(); - index_for_loop=0; - while(index_for_loop<loop_size) - { - if(internalRunningOperation.contains(progressionList.at(index_for_loop).id)) - { - internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total; - internalRunningOperation[progressionList.at(index_for_loop).id].currentProgression=progressionList.at(index_for_loop).current; - #ifdef ULTRACOPIER_PLUGIN_DEBUG - progressionList.removeAt(index_for_loop); - #endif - } - index_for_loop++; - } - #ifdef ULTRACOPIER_PLUGIN_DEBUG - if(progressionList.size()>0) - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Critical,"progression remaning items"); - #endif + loop_size=progressionList.size(); + index_for_loop=0; + while(index_for_loop<loop_size) + { + if(internalRunningOperation.contains(progressionList.at(index_for_loop).id)) + { + internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total; + internalRunningOperation[progressionList.at(index_for_loop).id].currentReadProgression=progressionList.at(index_for_loop).currentRead; + internalRunningOperation[progressionList.at(index_for_loop).id].currentWriteProgression=progressionList.at(index_for_loop).currentWrite; + #ifdef ULTRACOPIER_PLUGIN_DEBUG + progressionList.removeAt(index_for_loop); + index_for_loop--; + loop_size--; + #endif + } + index_for_loop++; + } + #ifdef ULTRACOPIER_PLUGIN_DEBUG + if(progressionList.size()>0) + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"progression remaning items"); + #endif } TransferModel::currentTransfertItem TransferModel::getCurrentTransfertItem() { - currentTransfertItem returnItem; - returnItem.haveItem=startId.size()>0; - if(returnItem.haveItem) - { - if(!internalRunningOperation.contains(*startId.constBegin())) - { - returnItem.haveItem=false; - return returnItem; - } - const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*startId.constBegin()]; - returnItem.from=itemTransfer.generalData.sourceFullPath; - returnItem.to=itemTransfer.generalData.destinationFullPath; - returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); - switch(itemTransfer.actionType) - { - case CustomOperation: - if(!itemTransfer.custom_with_progression) - returnItem.progressBar_file=-1; - else - { - if(itemTransfer.generalData.size>0) - returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; - else - returnItem.progressBar_file=-1; - } - break; - case Transfer: - if(itemTransfer.generalData.size>0) - returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; - else - returnItem.progressBar_file=0; - break; - //should never pass here - case PostOperation: - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,QString("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); - returnItem.progressBar_file=65535; - break; - //should never pass here - case PreOperation: - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,QString("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); - returnItem.progressBar_file=0; - break; - default: - returnItem.progressBar_file=0; - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Warning,QString("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); - break; - } - } -/* else - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("No have running item"));*/ - return returnItem; + currentTransfertItem returnItem; + returnItem.progressBar_read=-1; + returnItem.progressBar_write=0; + returnItem.haveItem=startId.size()>0; + if(returnItem.haveItem) + { + if(!internalRunningOperation.contains(*startId.constBegin())) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*startId.constBegin()]; + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); + returnItem.id=itemTransfer.generalData.id; + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_read=-1; + else + { + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + returnItem.progressBar_read=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + { + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + } + break; + //should never pass here + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + break; + default: + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + break; + } + } + else + { + returnItem.haveItem=stopId.size()>0; + if(returnItem.haveItem) + { + if(!internalRunningOperation.contains(*stopId.constBegin())) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*stopId.constBegin()]; + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); + returnItem.id=itemTransfer.generalData.id; + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_read=-1; + else + { + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + returnItem.progressBar_read=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + { + returnItem.progressBar_read=((double)itemTransfer.currentReadProgression/itemTransfer.generalData.size)*65535; + returnItem.progressBar_write=((double)itemTransfer.currentWriteProgression/itemTransfer.generalData.size)*65535; + } + else + { + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + } + break; + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_read=0; + returnItem.progressBar_write=0; + break; + default: + returnItem.progressBar_read=65535; + returnItem.progressBar_write=65535; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + break; + } + } + } + if(returnItem.haveItem && returnItem.progressBar_read!=-1 && returnItem.progressBar_write>returnItem.progressBar_read) + { + int tempVar=returnItem.progressBar_write; + returnItem.progressBar_write=returnItem.progressBar_read; + returnItem.progressBar_read=tempVar; + } + return returnItem; } diff --git a/plugins-alternative/Themes/Teracopy/TransferModel.h b/plugins-alternative/Themes/Teracopy/TransferModel.h index 486532e..977c986 100644 --- a/plugins-alternative/Themes/Teracopy/TransferModel.h +++ b/plugins-alternative/Themes/Teracopy/TransferModel.h @@ -17,76 +17,76 @@ /// \brief model to store the transfer list class TransferModel : public QAbstractTableModel { - Q_OBJECT + Q_OBJECT public: - /// \brief the transfer item displayed - struct transfertItem - { - quint64 id; - QString source; - QString size; - QString destination; - }; - /// \brief the transfer item with progression - struct ItemOfCopyListWithMoreInformations - { - quint64 currentProgression; - ItemOfCopyList generalData; - ActionTypeCopyList actionType; - bool custom_with_progression; - }; - /// \brief returned first transfer item - struct currentTransfertItem - { - quint64 id; - bool haveItem; - QString from; - QString to; - QString current_file; - int progressBar_file; - }; + /// \brief the transfer item displayed + struct transfertItem + { + quint64 id; + QString source; + QString size; + QString destination; + }; + /// \brief the transfer item with progression + struct ItemOfCopyListWithMoreInformations + { + quint64 currentReadProgression,currentWriteProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + /// \brief returned first transfer item + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + int progressBar_read,progressBar_write; + }; - TransferModel(); + TransferModel(); - virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; - virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; - virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; - virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); - - QList<quint64> synchronizeItems(const QList<returnActionOnCopyList>& returnActions); - void setFacilityEngine(FacilityInterface * facilityEngine); + 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); - int search(const QString &text,bool searchNext); - int searchPrev(const QString &text); + QList<quint64> synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions); + void setFacilityEngine(FacilityInterface * facilityEngine); - void setFileProgression(QList<ProgressionItem> &progressionList); + int search(const QString &text,bool searchNext); + int searchPrev(const QString &text); - currentTransfertItem getCurrentTransfertItem(); + void setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList); - quint64 firstId(); + currentTransfertItem getCurrentTransfertItem(); + + quint64 firstId(); protected: - QList<transfertItem> transfertItemList;///< To have a transfer list for the user - QList<transfertItem> transfertItemListDone;///< To have a transfer list for the user - QSet<quint64> startId,stopId;///< To show what is started, what is stopped - QHash<quint64,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat - QIcon iconStart,iconPause,iconStop; + QList<transfertItem> transfertItemList;///< To have a transfer list for the user + QList<transfertItem> transfertItemListDone;///< To have a transfer list for the user + QSet<quint64> startId,stopId;///< To show what is started, what is stopped + QHash<quint64,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat + QIcon iconStart,iconPause,iconStop; private: - int loop_size,index_for_loop; - int sub_loop_size,sub_index_for_loop; - int row,column; - quint64 totalFile,totalSize,currentFile; - FacilityInterface * facilityEngine; - QString search_text; - /// \brief index from start the search, decresed by remove before it - int currentIndexSearch; - bool haveSearchItem; - quint64 searchId; + int loop_size,index_for_loop; + int sub_loop_size,sub_index_for_loop; + int row,column; + quint64 totalFile,totalSize,currentFile; + FacilityInterface * facilityEngine; + QString search_text; + /// \brief index from start the search, decresed by remove before it + int currentIndexSearch; + bool haveSearchItem; + quint64 searchId; signals: - #ifdef ULTRACOPIER_PLUGIN_DEBUG - /// \brief To debug source - void debugInformation(DebugLevel level,QString fonction,QString text,QString file,int ligne); - #endif + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne); + #endif }; #endif // TRANSFERMODEL_H diff --git a/plugins-alternative/Themes/Teracopy/Variable.h b/plugins-alternative/Themes/Teracopy/Variable.h index 8179c93..963d0c8 100644 --- a/plugins-alternative/Themes/Teracopy/Variable.h +++ b/plugins-alternative/Themes/Teracopy/Variable.h @@ -1,8 +1,7 @@ /** \file Variable.h
\brief Define the environment variable
\author alpha_one_x86
-\version 0.3
-\date 2010 */
+\licence GPL3, see the file COPYING */
#ifndef VARIABLE_H
#define VARIABLE_H
diff --git a/plugins-alternative/Themes/Teracopy/documentation.dox b/plugins-alternative/Themes/Teracopy/documentation.dox index a61692b..c1720d2 100755..100644 --- a/plugins-alternative/Themes/Teracopy/documentation.dox +++ b/plugins-alternative/Themes/Teracopy/documentation.dox @@ -11,12 +11,12 @@ \section mainpage_overview Overview It's Teracopy interface, to come from Teracopy to Ultracopier.\n - More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier 0.3 project as alternative plugin. + More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier project as alternative plugin. \section mainpage_platforms Platforms - This plugin might be usable in all environments where you find Qt 4.\n - To be compatible with the official Ultracopier plugins, you need compil it with Gcc, Qt4.8, and same env as Ultracopier have been compiled, see the documentation. + 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 diff --git a/plugins-alternative/Themes/Teracopy/factory.cpp b/plugins-alternative/Themes/Teracopy/factory.cpp index 89c3787..2b176bf 100644 --- a/plugins-alternative/Themes/Teracopy/factory.cpp +++ b/plugins-alternative/Themes/Teracopy/factory.cpp @@ -1,83 +1,70 @@ /** \file factory.cpp \brief Define the factory core \author alpha_one_x86 -\version 0.3 -\date 2010 */ - -#include <QtCore> +*/ #include "factory.h" -PluginInterface_Themes * Factory::getInstance() +PluginInterface_Themes * ThemesFactory::getInstance() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - PluginInterface_Themes * newInterface=new InterfacePlugin(facilityEngine); - connect(newInterface,SIGNAL(debugInformation(DebugLevel,QString,QString,QString,int)),this,SIGNAL(debugInformation(DebugLevel,QString,QString,QString,int))); - connect(this,SIGNAL(reloadLanguage()),newInterface,SLOT(newLanguageLoaded())); - return newInterface; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + Themes * newInterface=new Themes(facilityEngine); + #ifdef ULTRACOPIER_PLUGIN_DEBUG + connect(newInterface,&Themes::debugInformation,this,&PluginInterface_ThemesFactory::debugInformation); + #endif + connect(this,&ThemesFactory::reloadLanguage,newInterface,&Themes::newLanguageLoaded); + return newInterface; } -void Factory::setResources(OptionInterface *,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,bool portableVersion) +void ThemesFactory::setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion) { - this->facilityEngine=facilityEngine; - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start, writePath: "+writePath+", pluginPath: "+pluginPath); - Q_UNUSED(portableVersion); + Q_UNUSED(writePath); + Q_UNUSED(pluginPath); + this->facilityEngine=facilityInterface; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, writePath: "+writePath+", pluginPath: "+pluginPath); + Q_UNUSED(portableVersion); + Q_UNUSED(options); } -QWidget * Factory::options() +QWidget * ThemesFactory::options() { - return NULL; + return NULL; } -void Factory::resetOptions() +void ThemesFactory::resetOptions() { } -QIcon Factory::getIcon(const QString &fileName) +QIcon ThemesFactory::getIcon(const QString &fileName) const { - if(fileName=="SystemTrayIcon/exit.png") - { - QIcon tempIcon=QIcon::fromTheme("application-exit"); - if(!tempIcon.isNull()) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("use substitution ionc for: %1").arg(fileName)); - return tempIcon; - } - } - if(fileName=="SystemTrayIcon/add.png") - { - QIcon tempIcon=QIcon::fromTheme("list-add"); - if(!tempIcon.isNull()) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("use substitution ionc for: %1").arg(fileName)); - return tempIcon; - } - } - if(fileName=="SystemTrayIcon/informations.png") - { - QIcon tempIcon=QIcon::fromTheme("help-about"); - if(!tempIcon.isNull()) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("use substitution ionc for: %1").arg(fileName)); - return tempIcon; - } - } - if(fileName=="SystemTrayIcon/options.png") - { - QIcon tempIcon=QIcon::fromTheme("applications-system"); - if(!tempIcon.isNull()) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("use substitution ionc for: %1").arg(fileName)); - return tempIcon; - } - } - return QIcon(":/resources/"+fileName); + if(fileName=="SystemTrayIcon/exit.png") + { + QIcon tempIcon=QIcon::fromTheme("application-exit"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/add.png") + { + QIcon tempIcon=QIcon::fromTheme("list-add"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/informations.png") + { + QIcon tempIcon=QIcon::fromTheme("help-about"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/options.png") + { + QIcon tempIcon=QIcon::fromTheme("applications-system"); + if(!tempIcon.isNull()) + return tempIcon; + } + return QIcon(":/Themes/Teracopy/resources/"+fileName); } -void Factory::newLanguageLoaded() +void ThemesFactory::newLanguageLoaded() { - emit reloadLanguage(); + emit reloadLanguage(); } - -Q_EXPORT_PLUGIN2(interface, Factory); - diff --git a/plugins-alternative/Themes/Teracopy/factory.h b/plugins-alternative/Themes/Teracopy/factory.h index babac47..0b3bb3f 100644 --- a/plugins-alternative/Themes/Teracopy/factory.h +++ b/plugins-alternative/Themes/Teracopy/factory.h @@ -1,8 +1,7 @@ /** \file factory.h \brief Define the factory \author alpha_one_x86 -\version 0.3 -\date 2010 */ +\licence GPL3, see the file COPYING */ #ifndef FACTORY_H #define FACTORY_H @@ -17,30 +16,27 @@ #include "Environment.h" /// \brief Define the factory, to create instance of the interface -class Factory : public PluginInterface_ThemesFactory +class ThemesFactory : public PluginInterface_ThemesFactory { - Q_OBJECT - Q_INTERFACES(PluginInterface_ThemesFactory) + Q_OBJECT + Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json") + Q_INTERFACES(PluginInterface_ThemesFactory) public: - /// \brief to return the instance of the copy engine - PluginInterface_Themes * getInstance(); - /// \brief set the resources, to store options, to have facilityInterface - void setResources(OptionInterface * optionsEngine,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,bool portableVersion); - /// \brief to get the default options widget - QWidget * options(); - /// \brief to get a resource icon - QIcon getIcon(const QString &fileName); + /// \brief to return the instance of the copy engine + PluginInterface_Themes * getInstance(); + /// \brief set the resources, to store options, to have facilityInterface + void setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityInterface,const bool &portableVersion); + /// \brief to get the default options widget + QWidget * options(); + /// \brief to get a resource icon + QIcon getIcon(const QString &fileName) const; public slots: - void resetOptions(); - void newLanguageLoaded(); + void resetOptions(); + void newLanguageLoaded(); signals: - void reloadLanguage(); - #ifdef ULTRACOPIER_PLUGIN_DEBUG - /// \brief To debug source - void debugInformation(DebugLevel level,QString fonction,QString text,QString file,int ligne); - #endif + void reloadLanguage(); private: - FacilityInterface * facilityEngine; + FacilityInterface * facilityEngine; }; #endif // FACTORY_H diff --git a/plugins-alternative/Themes/Teracopy/informations.xml b/plugins-alternative/Themes/Teracopy/informations.xml index 5fd194d..534db9a 100644 --- a/plugins-alternative/Themes/Teracopy/informations.xml +++ b/plugins-alternative/Themes/Teracopy/informations.xml @@ -17,11 +17,10 @@ <description xml:lang="en"><![CDATA[Teracopy style for Ultracopier, reproduct with screenshot on internet]]></description> <description xml:lang="fr"><![CDATA[Style Teracopy pour Ultracopier, reproduit avec les screenshots vu sur internet]]></description> <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> - <version>0.3.1.0</version> + <version>1.2.3.6</version> <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> <name>Teracopy</name> <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> <dependencies><![CDATA[ - >=ultracopier-0.3.1.0 ]]></dependencies> </package>
\ No newline at end of file diff --git a/plugins-alternative/Themes/Teracopy/interface.cpp b/plugins-alternative/Themes/Teracopy/interface.cpp index a7014dd..64220d0 100644 --- a/plugins-alternative/Themes/Teracopy/interface.cpp +++ b/plugins-alternative/Themes/Teracopy/interface.cpp @@ -1,376 +1,431 @@ /** \file interface.cpp \brief Define the interface core \author alpha_one_x86 -\version 0.3 -\date 2010 */ +*/ -#include <QtCore> #include <QMessageBox> +#include <cmath> #include "interface.h" #include "ui_interface.h" -InterfacePlugin::InterfacePlugin(FacilityInterface * facilityEngine) : - ui(new Ui::interfaceCopy()) +// The cmath header from MSVC does not contain round() +#if (defined(_WIN64) || defined(_WIN32)) && defined(_MSC_VER) +inline double round(double d) { + return floor( d + 0.5 ); +} +#endif + +Themes::Themes(FacilityInterface * facilityEngine) : + ui(new Ui::interfaceCopy()) { - this->facilityEngine=facilityEngine; - ui->setupUi(this); - ui->TransferList->setModel(&transferModel); - transferModel.setFacilityEngine(facilityEngine); + this->facilityEngine=facilityEngine; + ui->setupUi(this); + transferModel.setFacilityEngine(facilityEngine); + ui->TransferList->setModel(&transferModel); + + currentFile = 0; + totalFile = 0; + currentSize = 0; + totalSize = 0; + storeIsInPause = false; + modeIsForced = false; + haveStarted = false; + speedString = facilityEngine->speedToString(0); + ui->toolButtonMenu->setMenu(&menu); - currentFile = 0; - totalFile = 0; - currentSize = 0; - totalSize = 0; - this->show(); - storeIsInPause = false; - isInPause(false); - modeIsForced = false; - haveStarted = false; - speedString = facilityEngine->speedToString(0); - ui->toolButtonMenu->setMenu(&menu); - - connect(ui->actionAddFile,SIGNAL(triggered()),this,SLOT(forcedModeAddFile())); - connect(ui->actionAddFileToCopy,SIGNAL(triggered()),this,SLOT(forcedModeAddFileToCopy())); - connect(ui->actionAddFileToMove,SIGNAL(triggered()),this,SLOT(forcedModeAddFileToMove())); - connect(ui->actionAddFolderToCopy,SIGNAL(triggered()),this,SLOT(forcedModeAddFolderToCopy())); - connect(ui->actionAddFolderToMove,SIGNAL(triggered()),this,SLOT(forcedModeAddFolderToMove())); - connect(ui->actionAddFolder,SIGNAL(triggered()),this,SLOT(forcedModeAddFolder())); + connect(ui->actionAddFile,&QAction::triggered,this,&Themes::forcedModeAddFile); + connect(ui->actionAddFileToCopy,&QAction::triggered,this,&Themes::forcedModeAddFileToCopy); + connect(ui->actionAddFileToMove,&QAction::triggered,this,&Themes::forcedModeAddFileToMove); + connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&Themes::forcedModeAddFolderToCopy); + connect(ui->actionAddFolderToMove,&QAction::triggered,this,&Themes::forcedModeAddFolderToMove); + connect(ui->actionAddFolder,&QAction::triggered,this,&Themes::forcedModeAddFolder); - #ifdef ULTRACOPIER_PLUGIN_DEBUG - connect(&transferModel,SIGNAL(debugInformation(DebugLevel,QString,QString,QString,int)),this,SIGNAL(debugInformation(DebugLevel,QString,QString,QString,int))); - #endif + #ifdef ULTRACOPIER_PLUGIN_DEBUG + connect(&transferModel,&TransferModel::debugInformation,this,&Themes::debugInformation); + #endif + + progressColorWrite=QApplication::palette().color(QPalette::Highlight); + progressColorRead=QApplication::palette().color(QPalette::AlternateBase); + progressColorRemaining=QApplication::palette().color(QPalette::Base); + + ui->progressBar_all->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + show(); + isInPause(false); } -InterfacePlugin::~InterfacePlugin() +Themes::~Themes() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); } -QWidget * InterfacePlugin::getOptionsEngineWidget() +QWidget * Themes::getOptionsEngineWidget() { - return &optionEngineWidget; + return &optionEngineWidget; } -void InterfacePlugin::getOptionsEngineEnabled(bool isEnabled) +void Themes::getOptionsEngineEnabled(const bool &isEnabled) { - Q_UNUSED(isEnabled); + Q_UNUSED(isEnabled); } /// \brief set if transfer list is exportable/importable -void InterfacePlugin::setTransferListOperation(TransferListOperation transferListOperation) +void Themes::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation) +{ + Q_UNUSED(transferListOperation); +} + +void Themes::closeEvent(QCloseEvent *event) +{ + event->ignore(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + this->hide(); + emit cancel(); +} + +void Themes::updateOverallInformation() { - Q_UNUSED(transferListOperation); + ui->overall->setText(tr("Total: %1 of %2").arg(facilityEngine->sizeToString(currentSize)).arg(facilityEngine->sizeToString(totalSize))); + ui->labelNumberFile->setText(tr("%1 of %2").arg(currentFile).arg(totalFile)); } -void InterfacePlugin::closeEvent(QCloseEvent *event) +void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action) { - event->ignore(); - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - this->hide(); - emit cancel(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,"start: "+QString::number(action)); + this->action=action; + ui->pauseButton->setEnabled(action!=Ultracopier::Idle); + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + ui->progressBar_all->setMaximum(65535); + ui->progressBar_all->setMinimum(0); + break; + case Ultracopier::Listing: + ui->progressBar_all->setMaximum(0); + ui->progressBar_all->setMinimum(0); + break; + case Ultracopier::Idle: + if(haveStarted) + emit cancel(); + break; + default: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"Very wrong switch case!"); + break; + } + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + haveStarted=true; + ui->cancelButton->setText(facilityEngine->translateText("Quit")); + if(storeIsInPause) + ui->pauseButton->setText(facilityEngine->translateText("Start")); + else + ui->pauseButton->setText(facilityEngine->translateText("Pause")); + break; + case Ultracopier::Idle: + ui->cancelButton->setText(facilityEngine->translateText("Quit")); + break; + default: + break; + } } -void InterfacePlugin::updateOverallInformation() +void Themes::newFolderListing(const QString &path) { - ui->overall->setText(tr("Total: %1 of %2").arg(facilityEngine->sizeToString(currentSize)).arg(facilityEngine->sizeToString(totalSize))); - ui->labelNumberFile->setText(tr("%1 of %2").arg(currentFile).arg(totalFile)); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + if(action==Ultracopier::Listing) + ui->from->setText(path); } -void InterfacePlugin::actionInProgess(EngineActionInProgress action) +void Themes::detectedSpeed(const quint64 &speed)//in byte per seconds { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Information,"start: "+QString::number(action)); - this->action=action; - ui->pauseButton->setEnabled(action!=Idle); - switch(action) - { - case Copying: - case CopyingAndListing: - ui->progressBar_all->setMaximum(65535); - ui->progressBar_all->setMinimum(0); - break; - case Listing: - ui->progressBar_all->setMaximum(0); - ui->progressBar_all->setMinimum(0); - break; - case Idle: - if(haveStarted) - emit cancel(); - break; - default: - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Critical,"Very wrong switch case!"); - break; - } - switch(action) - { - case Copying: - case CopyingAndListing: - haveStarted=true; - break; - case Idle: - ui->cancelButton->setText(facilityEngine->translateText("Quit")); - break; - default: - break; - } + speedString=facilityEngine->speedToString(speed); } -void InterfacePlugin::newFolderListing(const QString &path) +/** \brief support speed limitation */ +void Themes::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool) { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - if(action==Listing) - ui->from->setText(path); + Q_UNUSED(supportSpeedLimitationBool); } -void InterfacePlugin::detectedSpeed(const quint64 &speed)//in byte per seconds +void Themes::remainingTime(const int &remainingSeconds) { - speedString=facilityEngine->speedToString(speed); + if(remainingSeconds==-1) + ui->labelTimeRemaining->setText("<html><body>∞</body></html>"); + else + { + Ultracopier::TimeDecomposition time=facilityEngine->secondsToTimeDecomposition(remainingSeconds); + ui->labelTimeRemaining->setText(QString::number(time.hour)+":"+QString::number(time.minute)+":"+QString::number(time.second)); + } } -void InterfacePlugin::remainingTime(const int &remainingSeconds) +void Themes::newCollisionAction(const QString &action) { - if(remainingSeconds==-1) - ui->labelTimeRemaining->setText("<html><body>∞</body></html>"); - else - { - TimeDecomposition time=facilityEngine->secondsToTimeDecomposition(remainingSeconds); - ui->labelTimeRemaining->setText(QString::number(time.hour)+":"+QString::number(time.minute)+":"+QString::number(time.second)); - } + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + Q_UNUSED(action); } -void InterfacePlugin::newCollisionAction(const QString &action) +void Themes::newErrorAction(const QString &action) { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - Q_UNUSED(action); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + Q_UNUSED(action); } -void InterfacePlugin::newErrorAction(const QString &action) +void Themes::errorDetected() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - Q_UNUSED(action); } -void InterfacePlugin::errorDetected() +/// \brief new error +void Themes::errorToRetry(const QString &source,const QString &destination,const QString &error) { + Q_UNUSED(source); + Q_UNUSED(destination); + Q_UNUSED(error); } //speed limitation -bool InterfacePlugin::setSpeedLimitation(const qint64 &speedLimitation) +bool Themes::setSpeedLimitation(const qint64 &speedLimitation) { - if(speedLimitation>0) - emit newSpeedLimitation(0); - return true; + if(speedLimitation>0) + emit newSpeedLimitation(0); + return true; } //get information about the copy -void InterfacePlugin::setGeneralProgression(const quint64 ¤t,const quint64 &total) +void Themes::setGeneralProgression(const quint64 ¤t,const quint64 &total) { - currentSize=current; - totalSize=total; - if(total>0) - { - int newIndicator=((double)current/total)*65535; - ui->progressBar_all->setValue(newIndicator); - } - else - ui->progressBar_all->setValue(0); + currentSize=current; + totalSize=total; + if(total>0) + { + int newIndicator=((double)current/total)*65535; + ui->progressBar_all->setValue(newIndicator); + } + else + ui->progressBar_all->setValue(0); } -void InterfacePlugin::setCollisionAction(const QList<QPair<QString,QString> > &list) +void Themes::setCollisionAction(const QList<QPair<QString,QString> > &list) { - Q_UNUSED(list); + Q_UNUSED(list); } -void InterfacePlugin::setErrorAction(const QList<QPair<QString,QString> > &list) +void Themes::setErrorAction(const QList<QPair<QString,QString> > &list) { - Q_UNUSED(list); + Q_UNUSED(list); } -void InterfacePlugin::setCopyType(CopyType type) +void Themes::setCopyType(const Ultracopier::CopyType &type) { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - this->type=type; - updateModeAndType(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + this->type=type; + updateModeAndType(); } -void InterfacePlugin::forceCopyMode(CopyMode mode) +void Themes::forceCopyMode(const Ultracopier::CopyMode &mode) { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - modeIsForced=true; - this->mode=mode; - if(mode==Copy) - this->setWindowTitle("Ultracopier - "+facilityEngine->translateText("Copy")); - else - this->setWindowTitle("Ultracopier - "+facilityEngine->translateText("Move")); - updateModeAndType(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + modeIsForced=true; + this->mode=mode; + if(mode==Ultracopier::Copy) + this->setWindowTitle("Ultracopier - "+facilityEngine->translateText("Copy")); + else + this->setWindowTitle("Ultracopier - "+facilityEngine->translateText("Move")); + updateModeAndType(); } -void InterfacePlugin::updateTitle() +void Themes::updateTitle() { - QString startString; - if(action==Copying || action==CopyingAndListing) - startString=tr("%1% done").arg(((double)currentSize/totalSize)*100); - else - startString="Ultracopier"; - startString+=" - "; - if(mode==Copy) - this->setWindowTitle(startString+facilityEngine->translateText("Copy")+" ("+speedString+")"); - else - this->setWindowTitle(startString+facilityEngine->translateText("Move")+" ("+speedString+")"); + QString startString; + if(action==Ultracopier::Copying || action==Ultracopier::CopyingAndListing) + startString=tr("%1% done").arg(((double)currentSize/totalSize)*100); + else + startString="Ultracopier"; + startString+=" - "; + if(mode==Ultracopier::Copy) + this->setWindowTitle(startString+facilityEngine->translateText("Copy")+" ("+speedString+")"); + else + this->setWindowTitle(startString+facilityEngine->translateText("Move")+" ("+speedString+")"); } -void InterfacePlugin::haveExternalOrder() +void Themes::haveExternalOrder() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); // ui->moreButton->toggle(); } -void InterfacePlugin::isInPause(bool isInPause) -{ - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"isInPause: "+QString::number(isInPause)); - //resume in auto the pause - storeIsInPause=isInPause; - if(isInPause) - ui->pauseButton->setText(facilityEngine->translateText("Resume")); - else - ui->pauseButton->setText(facilityEngine->translateText("Pause")); -} - -void InterfacePlugin::updateCurrentFileInformation() -{ - TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); - if(transfertItem.haveItem) - { - ui->from->setText(transfertItem.from); - //commented because not displayed on this interface - //ui->to->setText(transfertItem.to); - //ui->current_file->setText(transfertItem.current_file); - if(transfertItem.progressBar_file!=-1) - { - ui->progressBar_file->setRange(0,65535); - ui->progressBar_file->setValue(transfertItem.progressBar_file); - } - else - ui->progressBar_file->setRange(0,0); - } - else - { - ui->from->setText(""); - //commented because not displayed on this interface - //ui->to->setText(""); - //ui->current_file->setText("-"); - if(haveStarted && transferModel.rowCount()==0) - ui->progressBar_file->setValue(65535); - else if(!haveStarted) - ui->progressBar_file->setValue(0); - } +void Themes::isInPause(const bool &isInPause) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"isInPause: "+QString::number(isInPause)); + //resume in auto the pause + storeIsInPause=isInPause; + if(isInPause) + ui->pauseButton->setText(facilityEngine->translateText("Resume")); + else + ui->pauseButton->setText(facilityEngine->translateText("Pause")); +} + +void Themes::updateCurrentFileInformation() +{ + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(transfertItem.haveItem) + { + ui->from->setText(transfertItem.from); + //commented because not displayed on this interface + //ui->to->setText(transfertItem.to); + //ui->current_file->setText(transfertItem.current_file); + if(transfertItem.progressBar_read!=-1) + { + ui->progressBar_file->setRange(0,65535); + if(transfertItem.progressBar_read!=transfertItem.progressBar_write) + { + float permilleread=round((float)transfertItem.progressBar_read/65535*1000)/1000; + float permillewrite=permilleread-0.001; + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border: 1px solid grey;text-align: center;background-color: qlineargradient(spread:pad, x1:%1, y1:0, x2:%2, y2:0, stop:0 %3, stop:1 %4);}QProgressBar::chunk{background-color:%5;}") + .arg(permilleread) + .arg(permillewrite) + .arg(progressColorRemaining.name()) + .arg(progressColorRead.name()) + .arg(progressColorWrite.name()) + ); + } + else + ui->progressBar_file->setStyleSheet(QStringLiteral("QProgressBar{border:1px solid grey;text-align:center;background-color:%1;}QProgressBar::chunk{background-color:%2;}") + .arg(progressColorRemaining.name()) + .arg(progressColorWrite.name()) + ); + ui->progressBar_file->setValue(transfertItem.progressBar_write); + } + else + ui->progressBar_file->setRange(0,0); + } + else + { + ui->from->setText(""); + //commented because not displayed on this interface + //ui->to->setText(""); + //ui->current_file->setText("-"); + if(haveStarted && transferModel.rowCount()==0) + ui->progressBar_file->setValue(65535); + else if(!haveStarted) + ui->progressBar_file->setValue(0); + } } -void InterfacePlugin::on_cancelButton_clicked() +void Themes::on_cancelButton_clicked() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - this->hide(); - emit cancel(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + this->hide(); + emit cancel(); } -void InterfacePlugin::on_pauseButton_clicked() +void Themes::on_pauseButton_clicked() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - if(storeIsInPause) - emit resume(); - else - emit pause(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + if(storeIsInPause) + emit resume(); + else + emit pause(); } -void InterfacePlugin::on_skipButton_clicked() +void Themes::on_skipButton_clicked() { - TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); - if(transfertItem.haveItem) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("skip at running: %1").arg(transfertItem.id)); - emit skip(transfertItem.id); - } - else - { - if(transferModel.rowCount()>1) - { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,QString("skip at idle: %1").arg(transferModel.firstId())); - emit skip(transferModel.firstId()); - } - else - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Critical,"unable to skip the transfer, because no transfer running"); - } + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(transfertItem.haveItem) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("skip at running: %1").arg(transfertItem.id)); + emit skip(transfertItem.id); + } + else + { + if(transferModel.rowCount()>1) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("skip at idle: %1").arg(transferModel.firstId())); + emit skip(transferModel.firstId()); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"unable to skip the transfer, because no transfer running"); + } } -void InterfacePlugin::updateModeAndType() +void Themes::updateModeAndType() { - menu.clear(); - if(modeIsForced) - { - menu.addAction(ui->actionAddFile); - if(type==FileAndFolder) - menu.addAction(ui->actionAddFolder); - } - else - { - menu.addAction(ui->actionAddFileToCopy); - menu.addAction(ui->actionAddFileToMove); - if(type==FileAndFolder) - { - menu.addAction(ui->actionAddFolderToCopy); - menu.addAction(ui->actionAddFolderToMove); - } - } + menu.clear(); + if(modeIsForced) + { + menu.addAction(ui->actionAddFile); + if(type==Ultracopier::FileAndFolder) + menu.addAction(ui->actionAddFolder); + } + else + { + menu.addAction(ui->actionAddFileToCopy); + menu.addAction(ui->actionAddFileToMove); + if(type==Ultracopier::FileAndFolder) + { + menu.addAction(ui->actionAddFolderToCopy); + menu.addAction(ui->actionAddFolderToMove); + } + } } -void InterfacePlugin::forcedModeAddFile() +void Themes::forcedModeAddFile() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - emit userAddFile(mode); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFile(mode); } -void InterfacePlugin::forcedModeAddFolder() +void Themes::forcedModeAddFolder() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - emit userAddFolder(mode); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFolder(mode); } -void InterfacePlugin::forcedModeAddFileToCopy() +void Themes::forcedModeAddFileToCopy() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - emit userAddFile(Copy); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFile(Ultracopier::Copy); } -void InterfacePlugin::forcedModeAddFolderToCopy() +void Themes::forcedModeAddFolderToCopy() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - emit userAddFolder(Copy); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFolder(Ultracopier::Copy); } -void InterfacePlugin::forcedModeAddFileToMove() +void Themes::forcedModeAddFileToMove() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - emit userAddFile(Move); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFile(Ultracopier::Move); } -void InterfacePlugin::forcedModeAddFolderToMove() +void Themes::forcedModeAddFolderToMove() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - emit userAddFolder(Move); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + emit userAddFolder(Ultracopier::Move); } //set the translate -void InterfacePlugin::newLanguageLoaded() +void Themes::newLanguageLoaded() { - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start"); - if(modeIsForced) - forceCopyMode(mode); - ui->retranslateUi(this); - if(haveStarted) - updateCurrentFileInformation(); - updateOverallInformation(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + if(modeIsForced) + forceCopyMode(mode); + ui->retranslateUi(this); + if(haveStarted) + updateCurrentFileInformation(); + updateOverallInformation(); } /* @@ -378,68 +433,68 @@ void InterfacePlugin::newLanguageLoaded() Return[1]: totalSize Return[2]: currentFile */ -void InterfacePlugin::getActionOnList(const QList<returnActionOnCopyList>& returnActions) -{ - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"start, returnActions.size(): "+QString::number(returnActions.size())); - QList<quint64> returnValue=transferModel.synchronizeItems(returnActions); - totalFile+=returnValue[0]; - totalSize+=returnValue[1]; - currentFile+=returnValue[2]; - if(transferModel.rowCount()==0) - { - ui->skipButton->setEnabled(false); - ui->progressBar_all->setValue(65535); - ui->progressBar_file->setValue(65535); - currentSize=totalSize; - } - else - ui->skipButton->setEnabled(true); - updateOverallInformation(); - ULTRACOPIER_DEBUGCONSOLE(DebugLevel_Notice,"transferModel.rowCount(): "+QString::number(transferModel.rowCount())); -} - -void InterfacePlugin::setFileProgression(const QList<ProgressionItem> &progressionList) -{ - QList<ProgressionItem> progressionListBis=progressionList; - transferModel.setFileProgression(progressionListBis); - updateCurrentFileInformation(); -} - -InterfacePlugin::currentTransfertItem InterfacePlugin::getCurrentTransfertItem() -{ - currentTransfertItem returnItem; - returnItem.haveItem=InternalRunningOperation.size()>0; - if(returnItem.haveItem) - { - const ItemOfCopyListWithMoreInformations &itemTransfer=InternalRunningOperation.first(); - returnItem.from=itemTransfer.generalData.sourceFullPath; - returnItem.to=itemTransfer.generalData.destinationFullPath; - returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); - switch(itemTransfer.actionType) - { - case CustomOperation: - if(!itemTransfer.custom_with_progression) - returnItem.progressBar_file=0; - else - { - if(itemTransfer.generalData.size>0) - returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; - else - returnItem.progressBar_file=0; - } - break; - case Transfer: - if(itemTransfer.generalData.size>0) - returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; - else - returnItem.progressBar_file=0; - break; - case PostOperation: - returnItem.progressBar_file=65535; - break; - default: - returnItem.progressBar_file=0; - } - } - return returnItem; +void Themes::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) +{ + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start, returnActions.size(): "+QString::number(returnActions.size())); + QList<quint64> returnValue=transferModel.synchronizeItems(returnActions); + totalFile+=returnValue[0]; + totalSize+=returnValue[1]; + currentFile+=returnValue[2]; + if(transferModel.rowCount()==0) + { + ui->skipButton->setEnabled(false); + ui->progressBar_all->setValue(65535); + ui->progressBar_file->setValue(65535); + currentSize=totalSize; + } + else + ui->skipButton->setEnabled(true); + updateOverallInformation(); + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"transferModel.rowCount(): "+QString::number(transferModel.rowCount())); +} + +void Themes::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList) +{ + QList<Ultracopier::ProgressionItem> progressionListBis=progressionList; + transferModel.setFileProgression(progressionListBis); + updateCurrentFileInformation(); +} + +Themes::currentTransfertItem Themes::getCurrentTransfertItem() +{ + currentTransfertItem returnItem; + returnItem.haveItem=InternalRunningOperation.size()>0; + if(returnItem.haveItem) + { + const ItemOfCopyListWithMoreInformations &itemTransfer=InternalRunningOperation.first(); + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName+", "+facilityEngine->sizeToString(itemTransfer.generalData.size); + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_file=0; + else + { + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=0; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=0; + break; + case Ultracopier::PostOperation: + returnItem.progressBar_file=65535; + break; + default: + returnItem.progressBar_file=0; + } + } + return returnItem; } diff --git a/plugins-alternative/Themes/Teracopy/interface.h b/plugins-alternative/Themes/Teracopy/interface.h index 899a03b..b2f6a70 100644 --- a/plugins-alternative/Themes/Teracopy/interface.h +++ b/plugins-alternative/Themes/Teracopy/interface.h @@ -1,16 +1,16 @@ /** \file interface.h \brief Define the interface test \author alpha_one_x86 -\version 0.3 -\date 2010 */ +\licence GPL3, see the file COPYING */ -#ifndef INTERFACE_TEST_H -#define INTERFACE_TEST_H +#ifndef INTERFACE_H +#define INTERFACE_H #include <QObject> #include <QWidget> #include <QCloseEvent> #include <QMenu> +#include <QColor> #include "../../../interface/PluginInterface_Themes.h" @@ -19,151 +19,158 @@ #include "TransferModel.h" namespace Ui { - class interfaceCopy; + class interfaceCopy; } /// \brief Define the interface -class InterfacePlugin : public PluginInterface_Themes +class Themes : public PluginInterface_Themes { - Q_OBJECT + Q_OBJECT private: - struct ItemOfCopyListWithMoreInformations - { - quint64 currentProgression; - ItemOfCopyList generalData; - ActionTypeCopyList actionType; - bool custom_with_progression; - }; - struct currentTransfertItem - { - quint64 id; - bool haveItem; - QString from; - QString to; - QString current_file; - int progressBar_file; - }; - Ui::interfaceCopy *ui; - quint64 currentFile; - quint64 totalFile; - quint64 currentSize; - quint64 totalSize; - void updateOverallInformation(); - void updateCurrentFileInformation(); - EngineActionInProgress action; - void closeEvent(QCloseEvent *event); - QList<ItemOfCopyListWithMoreInformations> currentProgressList; - QString speedString; - bool storeIsInPause; - bool modeIsForced; - CopyType type; - CopyMode mode; - void updateModeAndType(); - bool haveStarted; - QWidget optionEngineWidget; - void updateTitle(); - QMenu menu; - FacilityInterface * facilityEngine; - int loop_size,loop_sub_size,indexAction,index; - int index_for_loop,sub_loop_size,sub_index_for_loop; - currentTransfertItem getCurrentTransfertItem(); - QList<quint64> startId,stopId;///< To show what is started, what is stopped - QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation;///< to have progression and stat - /// \brief the custom transfer model - TransferModel transferModel; + struct ItemOfCopyListWithMoreInformations + { + quint64 currentProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + int progressBar_file; + }; + Ui::interfaceCopy *ui; + quint64 currentFile; + quint64 totalFile; + quint64 currentSize; + quint64 totalSize; + void updateOverallInformation(); + void updateCurrentFileInformation(); + Ultracopier::EngineActionInProgress action; + void closeEvent(QCloseEvent *event); + QList<ItemOfCopyListWithMoreInformations> currentProgressList; + QString speedString; + bool storeIsInPause; + bool modeIsForced; + Ultracopier::CopyType type; + Ultracopier::CopyMode mode; + void updateModeAndType(); + bool haveStarted; + QWidget optionEngineWidget; + void updateTitle(); + QMenu menu; + FacilityInterface * facilityEngine; + int loop_size,loop_sub_size,indexAction,index; + int index_for_loop,sub_loop_size,sub_index_for_loop; + currentTransfertItem getCurrentTransfertItem(); + QList<quint64> startId,stopId;///< To show what is started, what is stopped + QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation;///< to have progression and stat + /// \brief the custom transfer model + TransferModel transferModel; + QColor progressColorWrite; + QColor progressColorRead; + QColor progressColorRemaining; public: - //send information about the copy - /// \brief to set the action in progress - void actionInProgess(EngineActionInProgress); - /// \brief new transfer have started - void newTransferStart(const ItemOfCopyList &item); - /** \brief one transfer have been stopped - * is stopped, example: because error have occurred, and try later, don't remove the item! */ - void newTransferStop(const quint64 &id); - /// \brief the new folder is listing - void newFolderListing(const QString &path); - /** \brief show the detected speed - * in byte per seconds */ - void detectedSpeed(const quint64 &speed); - /** \brief show the remaining time - * time in seconds */ - void remainingTime(const int &remainingSeconds); - /// \brief set the current collision action - void newCollisionAction(const QString &action); - /// \brief set the current error action - void newErrorAction(const QString &action); - /// \brief set one error is detected - void errorDetected(); - //speed limitation - /** \brief the max speed used - * in byte per seconds, -1 if not able, 0 if disabled */ - bool setSpeedLimitation(const qint64 &speedLimitation); - InterfacePlugin(FacilityInterface * facilityEngine); - ~InterfacePlugin(); - //get information about the copy - /// \brief show the general progression - void setGeneralProgression(const quint64 ¤t,const quint64 &total); - /// \brief show the file progression - void setFileProgression(const QList<ProgressionItem> &progressionList); - /// \brief set collision action - void setCollisionAction(const QList<QPair<QString,QString> > &); - /// \brief set error action - void setErrorAction(const QList<QPair<QString,QString> > &); - /// \brief set the copyType -> file or folder - void setCopyType(CopyType); - /// \brief set the copyMove -> copy or move, to force in copy or move, else support both - void forceCopyMode(CopyMode); - /// \brief set if transfer list is exportable/importable - void setTransferListOperation(TransferListOperation transferListOperation); - /** \brief set if the order is external (like file manager copy) - * to notify the interface, which can hide add folder/filer button */ - void haveExternalOrder(); - /// \brief set if is in pause - void isInPause(bool); - /// \brief get the widget for the copy engine - QWidget * getOptionsEngineWidget(); - /// \brief to set if the copy engine is found - void getOptionsEngineEnabled(bool isEnabled); + //send information about the copy + /// \brief to set the action in progress + void actionInProgess(const Ultracopier::EngineActionInProgress &); + /// \brief new transfer have started + void newTransferStart(const Ultracopier::ItemOfCopyList &item); + /** \brief one transfer have been stopped + * is stopped, example: because error have occurred, and try later, don't remove the item! */ + void newTransferStop(const quint64 &id); + /// \brief the new folder is listing + void newFolderListing(const QString &path); + /** \brief show the detected speed + * in byte per seconds */ + void detectedSpeed(const quint64 &speed); + /** \brief support speed limitation */ + void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool); + /** \brief show the remaining time + * time in seconds */ + void remainingTime(const int &remainingSeconds); + /// \brief set the current collision action + void newCollisionAction(const QString &action); + /// \brief set the current error action + void newErrorAction(const QString &action); + /// \brief set one error is detected + void errorDetected(); + /// \brief new error + void errorToRetry(const QString &source,const QString &destination,const QString &error); + //speed limitation + /** \brief the max speed used + * in byte per seconds, -1 if not able, 0 if disabled */ + bool setSpeedLimitation(const qint64 &speedLimitation); + Themes(FacilityInterface * facilityEngine); + ~Themes(); + //get information about the copy + /// \brief show the general progression + void setGeneralProgression(const quint64 ¤t,const quint64 &total); + /// \brief show the file progression + void setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList); + /// \brief set collision action + void setCollisionAction(const QList<QPair<QString,QString> > &); + /// \brief set error action + void setErrorAction(const QList<QPair<QString,QString> > &); + /// \brief set the copyType -> file or folder + void setCopyType(const Ultracopier::CopyType &); + /// \brief set the copyMove -> copy or move, to force in copy or move, else support both + void forceCopyMode(const Ultracopier::CopyMode &); + /// \brief set if transfer list is exportable/importable + void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation); + /** \brief set if the order is external (like file manager copy) + * to notify the interface, which can hide add folder/filer button */ + void haveExternalOrder(); + /// \brief set if is in pause + void isInPause(const bool &); + /// \brief get the widget for the copy engine + QWidget * getOptionsEngineWidget(); + /// \brief to set if the copy engine is found + void getOptionsEngineEnabled(const bool &isEnabled); private slots: - void on_cancelButton_clicked(); - void on_pauseButton_clicked(); - void on_skipButton_clicked(); - void forcedModeAddFile(); - void forcedModeAddFolder(); - void forcedModeAddFileToCopy(); - void forcedModeAddFolderToCopy(); - void forcedModeAddFileToMove(); - void forcedModeAddFolderToMove(); + void on_cancelButton_clicked(); + void on_pauseButton_clicked(); + void on_skipButton_clicked(); + void forcedModeAddFile(); + void forcedModeAddFolder(); + void forcedModeAddFileToCopy(); + void forcedModeAddFolderToCopy(); + void forcedModeAddFileToMove(); + void forcedModeAddFolderToMove(); signals: - #ifdef ULTRACOPIER_PLUGIN_DEBUG - /// \brief To debug source - void debugInformation(DebugLevel level,QString fonction,QString text,QString file,int ligne); - #endif - //set the transfer list - void removeItems(QList<int> ids); - void moveItemsOnTop(QList<int> ids); - void moveItemsUp(QList<int> ids); - void moveItemsDown(QList<int> ids); - void moveItemsOnBottom(QList<int> ids); - void exportTransferList(); - void importTransferList(); - //user ask ask to add folder (add it with interface ask source/destination) - void userAddFolder(CopyMode); - void userAddFile(CopyMode); - void urlDropped(QList<QUrl> urls); - //action on the copy - void pause(); - void resume(); - void skip(quint64 id); - void cancel(); - //edit the action - void sendCollisionAction(QString action); - void sendErrorAction(QString action); - void newSpeedLimitation(qint64); + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne); + #endif + //set the transfer list + /*void removeItems(QList<int> ids); + void moveItemsOnTop(QList<int> ids); + void moveItemsUp(QList<int> ids); + void moveItemsDown(QList<int> ids); + void moveItemsOnBottom(QList<int> ids); + void exportTransferList(); + void importTransferList(); + //user ask ask to add folder (add it with interface ask source/destination) + void userAddFolder(Ultracopier::CopyMode); + void userAddFile(Ultracopier::CopyMode); + void urlDropped(QList<QUrl> urls); + //action on the copy + void pause(); + void resume(); + void skip(quint64 id); + void cancel(); + //edit the action + void sendCollisionAction(QString action); + void sendErrorAction(QString action); + void newSpeedLimitation(qint64);*/ public slots: - //set the translate - void newLanguageLoaded(); - void getActionOnList(const QList<returnActionOnCopyList>& returnActions); + //set the translate + void newLanguageLoaded(); + void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions); }; -#endif // INTERFACE_TEST_H +#endif // INTERFACE_H diff --git a/plugins-alternative/Themes/Teracopy/interface.pro b/plugins-alternative/Themes/Teracopy/interface.pro index 4cecacb..5049e19 100644 --- a/plugins-alternative/Themes/Teracopy/interface.pro +++ b/plugins-alternative/Themes/Teracopy/interface.pro @@ -1,8 +1,12 @@ +CONFIG += c++11 +QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra" +mac:QMAKE_CXXFLAGS+="-stdlib=libc++" + +QT += widgets TEMPLATE = lib CONFIG += plugin HEADERS = interface.h \ - interface/PluginInterface_Themes.h \ - StructEnumDefinition.h \ + StructEnumDefinition.h \ factory.h \ DebugEngineMacro.h \ Environment.h \ @@ -13,24 +17,25 @@ SOURCES = interface.cpp \ factory.cpp \ TransferModel.cpp TARGET = $$qtLibraryTarget(interface) -TRANSLATIONS += Languages/fr/translation.ts \ - Languages/ar/translation.ts \ - Languages/zh/translation.ts \ - Languages/es/translation.ts \ +TRANSLATIONS += Languages/ar/translation.ts \ Languages/de/translation.ts \ Languages/el/translation.ts \ + Languages/en/translation.ts \ + Languages/es/translation.ts \ + Languages/fr/translation.ts \ + Languages/hi/translation.ts \ + Languages/hu/translation.ts \ + Languages/id/translation.ts \ Languages/it/translation.ts \ Languages/ja/translation.ts \ - Languages/id/translation.ts \ + Languages/ko/translation.ts \ + Languages/nl/translation.ts \ + Languages/no/translation.ts \ Languages/pl/translation.ts \ Languages/ru/translation.ts \ - Languages/tr/translation.ts \ Languages/th/translation.ts \ - Languages/hi/translation.ts \ - Languages/nl/translation.ts \ - Languages/no/translation.ts \ - Languages/pt/translation.ts \ - Languages/ko/translation.ts + Languages/tr/translation.ts \ + Languages/zh/translation.ts RESOURCES += resources.qrc diff --git a/plugins-alternative/Themes/Teracopy/interface.ui b/plugins-alternative/Themes/Teracopy/interface.ui index 1bccf44..a5274b3 100644 --- a/plugins-alternative/Themes/Teracopy/interface.ui +++ b/plugins-alternative/Themes/Teracopy/interface.ui @@ -27,7 +27,7 @@ </property> <property name="windowIcon"> <iconset resource="resources.qrc"> - <normaloff>:/resources/main.png</normaloff>:/resources/main.png</iconset> + <normaloff>:/Themes/Teracopy/resources/main.png</normaloff>:/Themes/Teracopy/resources/main.png</iconset> </property> <layout class="QVBoxLayout" name="verticalLayout"> <property name="spacing"> @@ -302,7 +302,7 @@ p, li { white-space: pre-wrap; } <action name="actionAddFile"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset> </property> <property name="text"> <string>Add file</string> @@ -311,7 +311,7 @@ p, li { white-space: pre-wrap; } <action name="actionAddFolder"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset> </property> <property name="text"> <string>Add folder</string> @@ -320,7 +320,7 @@ p, li { white-space: pre-wrap; } <action name="actionAddFileToMove"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset> </property> <property name="text"> <string>Move file(s)</string> @@ -329,7 +329,7 @@ p, li { white-space: pre-wrap; } <action name="actionAddFolderToMove"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset> </property> <property name="text"> <string>Move folder</string> @@ -338,7 +338,7 @@ p, li { white-space: pre-wrap; } <action name="actionAddFileToCopy"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset> </property> <property name="text"> <string>Copy file(s)</string> @@ -347,7 +347,7 @@ p, li { white-space: pre-wrap; } <action name="actionAddFolderToCopy"> <property name="icon"> <iconset> - <normaloff>:/resources/add.png</normaloff>:/resources/add.png</iconset> + <normaloff>:/Themes/Teracopy/resources/add.png</normaloff>:/Themes/Teracopy/resources/add.png</iconset> </property> <property name="text"> <string>Copy folder</string> diff --git a/plugins-alternative/Themes/Teracopy/plugin.json b/plugins-alternative/Themes/Teracopy/plugin.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/plugins-alternative/Themes/Teracopy/plugin.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/plugins-alternative/Themes/Teracopy/resources.qrc b/plugins-alternative/Themes/Teracopy/resources.qrc index 7f9a82c..39105a8 100644 --- a/plugins-alternative/Themes/Teracopy/resources.qrc +++ b/plugins-alternative/Themes/Teracopy/resources.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/"> + <qresource prefix="/Themes/Teracopy"> <file>resources/SystemTrayIcon/add.png</file> <file>resources/SystemTrayIcon/exit.png</file> <file>resources/SystemTrayIcon/informations.png</file> diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/add.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/add.png Binary files differindex 1e03be9..7932127 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/add.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/add.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/exit.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/exit.png Binary files differindex 201353e..ae3c4e8 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/exit.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/exit.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/informations.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/informations.png Binary files differindex e1eb797..5b7b255 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/informations.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/informations.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/options.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/options.png Binary files differindex d35365c..23ec531 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/options.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/options.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png Binary files differindex a81e70d..6f5d1cf 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Unix.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png Binary files differindex 8072aea..5464856 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Caught_Windows.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png Binary files differindex f40ea82..3961215 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png Binary files differindex 8d673e4..45d6315 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png Binary files differindex 9ce4779..ac4299a 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Unix.png diff --git a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png Binary files differindex d0fca1b..6e6bae7 100644 --- a/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png +++ b/plugins-alternative/Themes/Teracopy/resources/SystemTrayIcon/systray_Uncaught_Windows.png diff --git a/plugins-alternative/Themes/Teracopy/resources/checkbox.png b/plugins-alternative/Themes/Teracopy/resources/checkbox.png Binary files differindex 1c311e2..f7f4388 100644 --- a/plugins-alternative/Themes/Teracopy/resources/checkbox.png +++ b/plugins-alternative/Themes/Teracopy/resources/checkbox.png diff --git a/plugins-alternative/Themes/Teracopy/resources/main.png b/plugins-alternative/Themes/Teracopy/resources/main.png Binary files differindex 8072aea..5464856 100644 --- a/plugins-alternative/Themes/Teracopy/resources/main.png +++ b/plugins-alternative/Themes/Teracopy/resources/main.png diff --git a/plugins-alternative/Themes/Teracopy/resources/player_pause.png b/plugins-alternative/Themes/Teracopy/resources/player_pause.png Binary files differindex a9b3113..68ee21f 100644 --- a/plugins-alternative/Themes/Teracopy/resources/player_pause.png +++ b/plugins-alternative/Themes/Teracopy/resources/player_pause.png diff --git a/plugins-alternative/Themes/Teracopy/resources/player_play.png b/plugins-alternative/Themes/Teracopy/resources/player_play.png Binary files differindex 80ff3a1..a1c5b83 100644 --- a/plugins-alternative/Themes/Teracopy/resources/player_play.png +++ b/plugins-alternative/Themes/Teracopy/resources/player_play.png diff --git a/plugins-alternative/Themes/Teracopy/resources_unix.qrc b/plugins-alternative/Themes/Teracopy/resources_unix.qrc index ae3894b..46e3020 100644 --- a/plugins-alternative/Themes/Teracopy/resources_unix.qrc +++ b/plugins-alternative/Themes/Teracopy/resources_unix.qrc @@ -1,6 +1,6 @@ <RCC> - <qresource prefix="/"> - <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> + <qresource prefix="/Themes/Teracopy"> + <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> <file>resources/SystemTrayIcon/systray_Semiuncaught_Unix.png</file> <file>resources/SystemTrayIcon/systray_Uncaught_Unix.png</file> </qresource> diff --git a/plugins-alternative/Themes/Teracopy/resources_windows.qrc b/plugins-alternative/Themes/Teracopy/resources_windows.qrc index 99829b3..165123a 100644 --- a/plugins-alternative/Themes/Teracopy/resources_windows.qrc +++ b/plugins-alternative/Themes/Teracopy/resources_windows.qrc @@ -1,5 +1,5 @@ <RCC> - <qresource prefix="/"> + <qresource prefix="/Themes/Teracopy"> <file>resources/SystemTrayIcon/systray_Caught_Windows.png</file> <file>resources/SystemTrayIcon/systray_Semiuncaught_Windows.png</file> <file>resources/SystemTrayIcon/systray_Uncaught_Windows.png</file> diff --git a/plugins-alternative/Themes/Windows/DebugEngineMacro.h b/plugins-alternative/Themes/Windows/DebugEngineMacro.h new file mode 100644 index 0000000..4582010 --- /dev/null +++ b/plugins-alternative/Themes/Windows/DebugEngineMacro.h @@ -0,0 +1,28 @@ +/** \file DebugEngineMacro.h +\brief Define the macro for the debug +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#ifndef DEBUGENGINEMACRO_H +#define DEBUGENGINEMACRO_H + +#ifdef WIN32 +# define __func__ __FUNCTION__ +#endif + +/// \brief Macro for the debug log +#ifdef ULTRACOPIER_PLUGIN_DEBUG + #if defined (__FILE__) && defined (__LINE__) + #define ULTRACOPIER_DEBUGCONSOLE(a,b) emit debugInformation(a,__func__,b,__FILE__,__LINE__) + #else + #define ULTRACOPIER_DEBUGCONSOLE(a,b) emit debugInformation(a,__func__,b) + #endif +#else // ULTRACOPIER_DEBUG + #define ULTRACOPIER_DEBUGCONSOLE(a,b) void() +#endif // ULTRACOPIER_DEBUG + +#endif // DEBUGENGINEMACRO_H + + + + diff --git a/plugins-alternative/Themes/Windows/Environment.h b/plugins-alternative/Themes/Windows/Environment.h new file mode 100644 index 0000000..265a5a6 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Environment.h @@ -0,0 +1,10 @@ +/** \file Environment.h
+\brief Define the environment variable and global function
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#include "Variable.h"
+/// \brief The global include
+#include "StructEnumDefinition.h"
+#include "DebugEngineMacro.h"
+
diff --git a/plugins-alternative/Themes/Windows/Languages/ar/translation.ts b/plugins-alternative/Themes/Windows/Languages/ar/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/ar/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/de/translation.ts b/plugins-alternative/Themes/Windows/Languages/de/translation.ts new file mode 100644 index 0000000..7657f03 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/de/translation.ts @@ -0,0 +1,124 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation>Verbleibende Zeit unbekannt</translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation> + <numerusform>Übertrage %n Element (%2)</numerusform> + <numerusform>Übertrage %n Elemente (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation> + <numerusform>Kopiere %n Element (%2)</numerusform> + <numerusform>Kopiere %n Elemente (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation> + <numerusform>Verschiebe %n Element (%2)</numerusform> + <numerusform>Verschiebe %n Elemente (%2)</numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation>von <b>%1</b> (%2) bis <b>%3</b> (%4)<br />%5</translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation>Warten...</translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation>Name:</translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation>Von:</translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation>Nach:</translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation>verbleibende Zeit:</translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation>verbleibende Elemente:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation>Geschwindigkeit:</translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation>Mehr Informationen</translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation>Abbrechen</translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation>Datei hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation>Ordner hinzufügen</translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation>Datei (en) verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation>Ordner verschieben</translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation>Datei (en) kopieren</translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation>Ordner kopieren</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/el/translation.ts b/plugins-alternative/Themes/Windows/Languages/el/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/el/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/en/translation.ts b/plugins-alternative/Themes/Windows/Languages/en/translation.ts new file mode 100644 index 0000000..27cfd09 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/en/translation.ts @@ -0,0 +1,124 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation> + <numerusform>Transferring %n item (%2)</numerusform> + <numerusform>Transferring %n items (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation> + <numerusform>Copying %n item (%2)</numerusform> + <numerusform>Copying %n items (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation> + <numerusform>Moving %n item (%2)</numerusform> + <numerusform>Moving %n items (%2)</numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/es/translation.ts b/plugins-alternative/Themes/Windows/Languages/es/translation.ts new file mode 100644 index 0000000..cc4de8a --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/es/translation.ts @@ -0,0 +1,124 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished">desde <b>%1</b> (%2) hasta <b>%3</b> (%4)<br />%5</translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished">En espera</translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation>Nombre:</translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation>Desde:</translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation>Hasta:</translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation>Tiempo restante:</translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation>Items restantes:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation>Velocidad:</translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation>Más información</translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation>Cancelar</translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation>Añadir archivo</translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation>Añadir carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation>Mover archivo(s)</translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation>Mueva la carpeta</translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation>Copia el archivo(s)</translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation>Copia la carpeta</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/fr/translation.ts b/plugins-alternative/Themes/Windows/Languages/fr/translation.ts new file mode 100644 index 0000000..7f99e83 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/fr/translation.ts @@ -0,0 +1,124 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation>Temps restant inconnu</translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation> + <numerusform>Transfert de %n élément (%2)</numerusform> + <numerusform>Transfert de %n éléments (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation> + <numerusform>Copie de %n élément (%2)</numerusform> + <numerusform>Copie de %n éléments (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation> + <numerusform>Déplacement de %n élément (%2)</numerusform> + <numerusform>Déplacement de %n éléments (%2)</numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation>depuis <b>%1</b> (%2) vers <b>%3</b> (%4)<br />%5</translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation>En attente</translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation>Déplacer des fichiers</translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation>Déplacer un dossier</translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation>Copier des fichiers</translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation>Copier un dossier</translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation>Ajouter un dossier</translation> + </message> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation>Nom:</translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation>Depuis:</translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation>Vers:</translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation>Temps restant:</translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation>Éléments restants:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation>Vitesse:</translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation>Plus d'information</translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation>Annuler</translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation>Ajout de fichier</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/hi/translation.ts b/plugins-alternative/Themes/Windows/Languages/hi/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/hi/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/hu/translation.ts b/plugins-alternative/Themes/Windows/Languages/hu/translation.ts new file mode 100644 index 0000000..ef4bf6d --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/hu/translation.ts @@ -0,0 +1,121 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation>Ismeretlen hátralévő idő</translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation> + <numerusform>%n elem áthelyezése(%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation> + <numerusform>%n elem átmásolása(%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation> + <numerusform>%n elem mozgatása(%2)</numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation><b>%1</b> (%2) helyről-> <b>%3</b> (%4) helyre<br />%5</translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation>Várakozik</translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation>Név:</translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation>Forrás:</translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation>Cél:</translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation>Hátralévő idő:</translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation>Hátralévő elemek:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation>Sebesség:</translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation>Több információ</translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation>Mégse</translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation>Fájl hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation>Mappa hozzáadása</translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation>Fájl(ok) mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation>Mappa mozgatása</translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation>Fájl(ok) másolása</translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation>Mappa másolása</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/id/translation.ts b/plugins-alternative/Themes/Windows/Languages/id/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/id/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/it/translation.ts b/plugins-alternative/Themes/Windows/Languages/it/translation.ts new file mode 100644 index 0000000..c3d5a73 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/it/translation.ts @@ -0,0 +1,125 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation>Tempo rediduo indeterminato</translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation> + <numerusform>Trasferimento di %n elemento (%2)</numerusform> + <numerusform>Trasferimento di %n elementi (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation> + <numerusform>Copia di %n elemento (%2)</numerusform> + <numerusform>Copia di %n elementi (%2)</numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation> + <numerusform>Spostamento di %n elemento (%2)</numerusform> + <numerusform>Spostamento di %n elementi (%2)</numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translatorcomment>Per esempio: da <b>Cartella di origine</b> (e: precedente origine) to <b>Cartella di destinazione</b> (d: destinazione desktop)<br />Circa 5 ore rimanenti</translatorcomment> + <translation>da <b>%1</b> (%2) a <b>%3</b> (%4)<br />%5</translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation>In attesa</translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation>Nome:</translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation>Da:</translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation>A:</translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation>Tempo residuo:</translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation>Elementi rimanenti:</translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation>Velocità:</translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation>Maggiori informazioni</translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation>Annulla</translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation>Aggiungi file</translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation>Aggiungi cartella</translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation>Sposta file</translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation>Sposta la cartella</translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation>Copia file</translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation>Copia la cartella</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/ja/translation.ts b/plugins-alternative/Themes/Windows/Languages/ja/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/ja/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/ko/translation.ts b/plugins-alternative/Themes/Windows/Languages/ko/translation.ts new file mode 100644 index 0000000..4d682a3 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/ko/translation.ts @@ -0,0 +1,121 @@ +<?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="+204"/> + <location line="+188"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location line="-55"/> + <location line="+2"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location line="+7"/> + <location line="+2"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location line="+5"/> + <location line="+2"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location line="+48"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+9"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="+176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+10"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+65"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+40"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location line="+14"/> + <source>Add file</source> + <translation type="unfinished">파일 추가</translation> + </message> + <message> + <location line="+9"/> + <source>Add folder</source> + <translation type="unfinished">폴더 추가</translation> + </message> + <message> + <location line="+9"/> + <source>Move file(s)</source> + <translation type="unfinished">파일 이동</translation> + </message> + <message> + <location line="+9"/> + <source>Move folder</source> + <translation type="unfinished">폴더 이동</translation> + </message> + <message> + <location line="+9"/> + <source>Copy file(s)</source> + <translation type="unfinished">파일 복사</translation> + </message> + <message> + <location line="+9"/> + <source>Copy folder</source> + <translation type="unfinished">폴더 복사</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/nl/translation.ts b/plugins-alternative/Themes/Windows/Languages/nl/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/nl/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/no/translation.ts b/plugins-alternative/Themes/Windows/Languages/no/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/no/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/pl/translation.ts b/plugins-alternative/Themes/Windows/Languages/pl/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/pl/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/ru/translation.ts b/plugins-alternative/Themes/Windows/Languages/ru/translation.ts new file mode 100644 index 0000000..02e9260 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/ru/translation.ts @@ -0,0 +1,127 @@ +<?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="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + <numerusform></numerusform> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation>Добавить файл</translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation>Добавить папку</translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation>Перемещение файла (ов)</translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation>Перемещение папки</translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation>Копировать файл (ы)</translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation>Копировать папку</translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/th/translation.ts b/plugins-alternative/Themes/Windows/Languages/th/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/th/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/tr/translation.ts b/plugins-alternative/Themes/Windows/Languages/tr/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/tr/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/Languages/zh/translation.ts b/plugins-alternative/Themes/Windows/Languages/zh/translation.ts new file mode 100644 index 0000000..fe6d20c --- /dev/null +++ b/plugins-alternative/Themes/Windows/Languages/zh/translation.ts @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<context> + <name>Themes</name> + <message> + <location filename="../../interface.cpp" line="204"/> + <location filename="../../interface.cpp" line="392"/> + <source>Unknown remaining time</source> + <translation type="unfinished"></translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="337"/> + <location filename="../../interface.cpp" line="339"/> + <source>Transferring %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="346"/> + <location filename="../../interface.cpp" line="348"/> + <source>Copying %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message numerus="yes"> + <location filename="../../interface.cpp" line="353"/> + <location filename="../../interface.cpp" line="355"/> + <source>Moving %n item(s) (%2)</source> + <translation type="unfinished"> + <numerusform></numerusform> + </translation> + </message> + <message> + <location filename="../../interface.cpp" line="403"/> + <source>from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5</source> + <extracomment>Sample: from <b>sources</b> (e:<byte value="xc"/>oldersource) to <b>destination</b> (d:desktopdestination)<br />About 5 Hours remaining</extracomment> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.cpp" line="412"/> + <source>In waiting</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>interface</name> + <message> + <location filename="../../interface.ui" line="176"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="186"/> + <source>From:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="196"/> + <source>To:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="206"/> + <source>Time remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="216"/> + <source>Items remaining:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="226"/> + <source>Speed:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="291"/> + <source>More information</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="331"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="345"/> + <source>Add file</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="354"/> + <source>Add folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="363"/> + <source>Move file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="372"/> + <source>Move folder</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="381"/> + <source>Copy file(s)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../../interface.ui" line="390"/> + <source>Copy folder</source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/plugins-alternative/Themes/Windows/StructEnumDefinition.h b/plugins-alternative/Themes/Windows/StructEnumDefinition.h new file mode 100644 index 0000000..c1758f4 --- /dev/null +++ b/plugins-alternative/Themes/Windows/StructEnumDefinition.h @@ -0,0 +1 @@ +#include "../../../StructEnumDefinition.h" diff --git a/plugins-alternative/Themes/Windows/TransferModel.cpp b/plugins-alternative/Themes/Windows/TransferModel.cpp new file mode 100644 index 0000000..7743266 --- /dev/null +++ b/plugins-alternative/Themes/Windows/TransferModel.cpp @@ -0,0 +1,286 @@ +#include "TransferModel.h" + +#define COLUMN_COUNT 3 + +// Model + +TransferModel::TransferModel() +{ + iconStart=QIcon(":/Themes/Windows/resources/player_play.png"); + iconPause=QIcon(":/Themes/Windows/resources/player_pause.png"); + iconStop=QIcon(":/Themes/Windows/resources/checkbox.png"); + currentIndexSearch=0; + currentFile = 0; + totalFile = 0; + currentSize = 0; + totalSize = 0; + haveSearchItem=false; +} + +int TransferModel::columnCount( const QModelIndex& parent ) const +{ + return parent == QModelIndex() ? COLUMN_COUNT : 0; +} + +QVariant TransferModel::data( const QModelIndex& index, int role ) const +{ + Q_UNUSED(role); + Q_UNUSED(index); + return QVariant(); +} + +int TransferModel::rowCount( const QModelIndex& parent ) const +{ + Q_UNUSED(parent); + return 0; +} + +QVariant TransferModel::headerData( int section, Qt::Orientation orientation, int role ) const +{ + if ( role == Qt::DisplayRole && orientation == Qt::Horizontal && section >= 0 && section < COLUMN_COUNT ) { + switch ( section ) { + case 0: + return facilityEngine->translateText("Source"); + case 1: + return facilityEngine->translateText("Size"); + case 2: + return facilityEngine->translateText("Destination"); + } + } + + return QAbstractTableModel::headerData( section, orientation, role ); +} + +bool TransferModel::setData( const QModelIndex& index, const QVariant& value, int role ) +{ + Q_UNUSED(index); + Q_UNUSED(value); + Q_UNUSED(role); + return true; +} + +/* + Return[0]: totalFile + Return[1]: totalSize + Return[2]: currentFile + */ +QList<quint64> TransferModel::synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions) +{ + loop_size=returnActions.size(); + index_for_loop=0; + emit layoutAboutToBeChanged(); + while(index_for_loop<loop_size) + { + const Ultracopier::ReturnActionOnCopyList& action=returnActions.at(index_for_loop); + switch(action.type) + { + case Ultracopier::AddingItem: + { + this->totalFile++; + this->totalSize+=action.addAction.size; + } + break; + case Ultracopier::RemoveItem: + internalRunningOperation.remove(action.addAction.id); + startId.remove(action.addAction.id); + stopId.remove(action.addAction.id); + this->currentFile++; + break; + case Ultracopier::PreOperation: + { + ItemOfCopyListWithMoreInformations tempItem; + tempItem.currentProgression=0; + tempItem.generalData=action.addAction; + tempItem.generalData.destinationFullPath.remove(tempItem.generalData.destinationFullPath.size()-tempItem.generalData.destinationFileName.size(),tempItem.generalData.destinationFileName.size()); + tempItem.generalData.sourceFullPath.remove(tempItem.generalData.sourceFullPath.size()-tempItem.generalData.sourceFileName.size(),tempItem.generalData.sourceFileName.size()); + tempItem.actionType=action.type; + internalRunningOperation[action.addAction.id]=tempItem; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("set for file %1: actionType: PreOperation").arg(action.addAction.id)); + } + break; + case Ultracopier::Transfer: + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,QStringLiteral("found entry for file %1: actionType: Transfer").arg(action.addAction.id)); + if(!startId.contains(action.addAction.id)) + startId << action.addAction.id; + stopId.remove(action.addAction.id); + if(internalRunningOperation.contains(action.addAction.id)) + internalRunningOperation[action.addAction.id].actionType=action.type; + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unable to found entry for file %1: actionType: Transfer").arg(action.addAction.id)); + } + break; + case Ultracopier::PostOperation: + { + if(!stopId.contains(action.addAction.id)) + stopId << action.addAction.id; + startId.remove(action.addAction.id); + } + break; + case Ultracopier::CustomOperation: + { + bool custom_with_progression=(action.addAction.size==1); + //without progression + if(custom_with_progression) + { + if(startId.remove(action.addAction.id)) + if(!stopId.contains(action.addAction.id)) + stopId << action.addAction.id; + } + //with progression + else + { + stopId.remove(action.addAction.id); + if(!startId.contains(action.addAction.id)) + startId << action.addAction.id; + } + if(internalRunningOperation.contains(action.addAction.id)) + { + ItemOfCopyListWithMoreInformations &item=internalRunningOperation[action.addAction.id]; + item.actionType=action.type; + item.custom_with_progression=custom_with_progression; + item.currentProgression=0; + } + } + break; + default: + //unknow code, ignore it + break; + } + index_for_loop++; + } + emit layoutChanged(); + return QList<quint64>() << totalFile << totalSize << currentFile; +} + +void TransferModel::setFacilityEngine(FacilityInterface * facilityEngine) +{ + this->facilityEngine=facilityEngine; +} + +void TransferModel::setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList) +{ + loop_size=progressionList.size(); + index_for_loop=0; + while(index_for_loop<loop_size) + { + if(internalRunningOperation.contains(progressionList.at(index_for_loop).id)) + { + internalRunningOperation[progressionList.at(index_for_loop).id].generalData.size=progressionList.at(index_for_loop).total; + internalRunningOperation[progressionList.at(index_for_loop).id].currentProgression=(progressionList.at(index_for_loop).currentRead+progressionList.at(index_for_loop).currentWrite)/2; + #ifdef ULTRACOPIER_PLUGIN_DEBUG + progressionList.removeAt(index_for_loop); + index_for_loop--; + loop_size--; + #endif + } + index_for_loop++; + } + #ifdef ULTRACOPIER_PLUGIN_DEBUG + if(progressionList.size()>0) + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Critical,"progression remaning items"); + #endif +} + +TransferModel::currentTransfertItem TransferModel::getCurrentTransfertItem() +{ + currentTransfertItem returnItem; + returnItem.haveItem=startId.size()>0; + if(returnItem.haveItem) + { + if(!internalRunningOperation.contains(*startId.constBegin())) + { + returnItem.haveItem=false; + return returnItem; + } + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*startId.constBegin()]; + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName; + returnItem.size=facilityEngine->sizeToString(itemTransfer.generalData.size); + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_file=-1; + else + { + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=0; + break; + //should never pass here + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_file=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_file=0; + break; + default: + returnItem.progressBar_file=0; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + break; + } + } + else + { + if(!internalRunningOperation.contains(*stopId.constBegin())) + { + returnItem.haveItem=false; + return returnItem; + } + else + returnItem.haveItem=true; + const ItemOfCopyListWithMoreInformations &itemTransfer=internalRunningOperation[*stopId.constBegin()]; + returnItem.from=itemTransfer.generalData.sourceFullPath; + returnItem.to=itemTransfer.generalData.destinationFullPath; + returnItem.current_file=itemTransfer.generalData.destinationFileName; + returnItem.size=facilityEngine->sizeToString(itemTransfer.generalData.size); + switch(itemTransfer.actionType) + { + case Ultracopier::CustomOperation: + if(!itemTransfer.custom_with_progression) + returnItem.progressBar_file=-1; + else + { + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=-1; + } + break; + case Ultracopier::Transfer: + if(itemTransfer.generalData.size>0) + returnItem.progressBar_file=((double)itemTransfer.currentProgression/itemTransfer.generalData.size)*65535; + else + returnItem.progressBar_file=0; + break; + //should never pass here + case Ultracopier::PostOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_file=65535; + break; + //should never pass here + case Ultracopier::PreOperation: + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("wrong action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + returnItem.progressBar_file=0; + break; + default: + returnItem.progressBar_file=65535; + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Warning,QStringLiteral("unknow action type for file %1: actionType: %2").arg(itemTransfer.generalData.id).arg(itemTransfer.actionType)); + break; + } + } + return returnItem; +} diff --git a/plugins-alternative/Themes/Windows/TransferModel.h b/plugins-alternative/Themes/Windows/TransferModel.h new file mode 100644 index 0000000..c2d89aa --- /dev/null +++ b/plugins-alternative/Themes/Windows/TransferModel.h @@ -0,0 +1,90 @@ +#ifndef TRANSFERMODEL_H +#define TRANSFERMODEL_H + +#include <QAbstractTableModel> +#include <QModelIndex> +#include <QVariant> +#include <QList> +#include <QSet> +#include <QIcon> +#include <QString> + +#include "StructEnumDefinition.h" +#include "Environment.h" + +#include "../../../interface/FacilityInterface.h" + +/// \brief model to store the transfer list +class TransferModel : public QAbstractTableModel +{ + Q_OBJECT +public: + /// \brief the transfer item displayed + struct transfertItem + { + quint64 id; + QString source; + QString size; + QString destination; + }; + /// \brief the transfer item with progression + struct ItemOfCopyListWithMoreInformations + { + quint64 currentProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + /// \brief returned first transfer item + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + QString size; + int progressBar_file; + }; + + TransferModel(); + + virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; + virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; + virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; + virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; + virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); + + QList<quint64> synchronizeItems(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions); + void setFacilityEngine(FacilityInterface * facilityEngine); + + void setFileProgression(QList<Ultracopier::ProgressionItem> &progressionList); + + currentTransfertItem getCurrentTransfertItem(); + + quint64 currentFile; + quint64 totalFile; + quint64 currentSize; + quint64 totalSize; +protected: + QSet<quint64> startId,stopId;///< To show what is started, what is stopped + QHash<quint64,ItemOfCopyListWithMoreInformations> internalRunningOperation;///< to have progression and stat + QIcon iconStart,iconPause,iconStop; +private: + int loop_size,index_for_loop; + int sub_loop_size,sub_index_for_loop; + int row,column; + FacilityInterface * facilityEngine; + QString search_text; + /// \brief index from start the search, decresed by remove before it + int currentIndexSearch; + bool haveSearchItem; + quint64 searchId; +signals: + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne); + #endif +}; + +#endif // TRANSFERMODEL_H diff --git a/plugins-alternative/Themes/Windows/Variable.h b/plugins-alternative/Themes/Windows/Variable.h new file mode 100644 index 0000000..963d0c8 --- /dev/null +++ b/plugins-alternative/Themes/Windows/Variable.h @@ -0,0 +1,15 @@ +/** \file Variable.h
+\brief Define the environment variable
+\author alpha_one_x86
+\licence GPL3, see the file COPYING */
+
+#ifndef VARIABLE_H
+#define VARIABLE_H
+
+//Un-comment this next line to put ultracopier plugin in debug mode
+#define ULTRACOPIER_PLUGIN_DEBUG
+
+#endif // VARIABLE_H
+
+
+
diff --git a/plugins-alternative/Themes/Windows/documentation.dox b/plugins-alternative/Themes/Windows/documentation.dox new file mode 100644 index 0000000..df43161 --- /dev/null +++ b/plugins-alternative/Themes/Windows/documentation.dox @@ -0,0 +1,29 @@ +/* -*- mode: C++ ; c-file-style: "stroustrup" -*- **/ + +/* + This file contains NO source code, just some documentation for doxygen to + parse. +*/ + +/*! + \mainpage Windows + + \section mainpage_overview Overview + + It's interface to have interface like windows for Ultracopier.\n + More informations on <a href="http://ultracopier-wiki.first-world.info/">the wiki of ultracopier</a>. Is part of Ultracopier project as alternative plugin. + + \section mainpage_platforms Platforms + + Ultracopier might be usable in all environments where you find Qt 5.\n + Ultracopier requires Qt 5.0 or newer. Tested on Qt 5.0. + + \section mainpage_downloads Downloads + + You can found link on <a href="http://ultracopier.first-world.info/">Ultracopier (Supercopier/Teracopy)</a> project page, via git, snapshot sources, ... + + \section license GPL Version 3 + The code source is under GPL3. + +*/ + diff --git a/plugins-alternative/Themes/Windows/factory.cpp b/plugins-alternative/Themes/Windows/factory.cpp new file mode 100644 index 0000000..dbce51a --- /dev/null +++ b/plugins-alternative/Themes/Windows/factory.cpp @@ -0,0 +1,74 @@ +/** \file factory.cpp +\brief Define the factory core +\author alpha_one_x86 +*/ + +#include "factory.h" + +QRegularExpression ThemesFactory::slashEnd; +QRegularExpression ThemesFactory::isolateName; + +ThemesFactory::ThemesFactory() +{ + slashEnd=QRegularExpression("/$"); + isolateName=QRegularExpression("^.*/([^/]+)$"); +} + +PluginInterface_Themes * ThemesFactory::getInstance() +{ + Themes * newInterface=new Themes(facilityEngine); + connect(this,&ThemesFactory::reloadLanguage,newInterface,&Themes::newLanguageLoaded); + return newInterface; +} + +void ThemesFactory::setResources(OptionInterface * options,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,const bool &portableVersion) +{ + Q_UNUSED(options) + Q_UNUSED(writePath) + Q_UNUSED(pluginPath) + this->facilityEngine=facilityEngine; + Q_UNUSED(portableVersion) +} + +QWidget * ThemesFactory::options() +{ + return NULL; +} + +QIcon ThemesFactory::getIcon(const QString &fileName) const +{ + if(fileName=="SystemTrayIcon/exit.png") + { + QIcon tempIcon=QIcon::fromTheme("application-exit"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/add.png") + { + QIcon tempIcon=QIcon::fromTheme("list-add"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/informations.png") + { + QIcon tempIcon=QIcon::fromTheme("help-about"); + if(!tempIcon.isNull()) + return tempIcon; + } + if(fileName=="SystemTrayIcon/options.png") + { + QIcon tempIcon=QIcon::fromTheme("applications-system"); + if(!tempIcon.isNull()) + return tempIcon; + } + return QIcon(":/Themes/Windows/resources/"+fileName); +} + +void ThemesFactory::resetOptions() +{ +} + +void ThemesFactory::newLanguageLoaded() +{ + emit reloadLanguage(); +} diff --git a/plugins-alternative/Themes/Windows/factory.h b/plugins-alternative/Themes/Windows/factory.h new file mode 100644 index 0000000..32ea9f1 --- /dev/null +++ b/plugins-alternative/Themes/Windows/factory.h @@ -0,0 +1,45 @@ +/** \file factory.h +\brief Define the factory, to create instance of the interface +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#ifndef FACTORY_H +#define FACTORY_H + +#include <QObject> +#include <QWidget> +#include <QIcon> +#include <QRegularExpression> + +#include "interface.h" +#include "../../../interface/PluginInterface_Themes.h" + +/// \brief Define the factory, to create instance of the interface +class ThemesFactory : public PluginInterface_ThemesFactory +{ + Q_OBJECT + Q_PLUGIN_METADATA(IID "first-world.info.ultracopier.PluginInterface.ThemesFactory/1.0.1.0" FILE "plugin.json") + Q_INTERFACES(PluginInterface_ThemesFactory) + public: + ThemesFactory(); + /// \brief to return the instance of the copy engine + PluginInterface_Themes * getInstance(); + /// \brief set the resources, to store options, to have facilityInterface + void setResources(OptionInterface * optionsEngine,const QString &writePath,const QString &pluginPath,FacilityInterface * facilityEngine,const bool &portableVersion); + /// \brief to get the default options widget + QWidget * options(); + /// \brief to get a resource icon + QIcon getIcon(const QString &fileName) const; + //regex + static QRegularExpression slashEnd; + static QRegularExpression isolateName; + signals: + void reloadLanguage(); + public slots: + void resetOptions(); + void newLanguageLoaded(); + private: + FacilityInterface * facilityEngine; +}; + +#endif // FACTORY_H diff --git a/plugins-alternative/Themes/Windows/informations.xml b/plugins-alternative/Themes/Windows/informations.xml new file mode 100644 index 0000000..b0d6f22 --- /dev/null +++ b/plugins-alternative/Themes/Windows/informations.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<package> + <title xml:lang="en"><![CDATA[Windows dialog for Ultracopier]]></title><!-- english is required --> + <title xml:lang="fr"><![CDATA[Dialogue de Windows pour Ultracopier]]></title> + <!-- What kind of plugin this is --> + <category>Themes</category> + <!-- Who wrote this plugin --> + <author><![CDATA[BRULE Herman, alpha_one_x86 (alpha_one_x86@first-world.info)]]></author> + <!-- URL of page or site for this plugin (may provide additional information, bug reports, feature requests). --> + <website xml:lang="en"><![CDATA[http://ultracopier.first-world.info/]]></website><!-- not required --> + <website xml:lang="fr"><![CDATA[http://ultracopier-fr.first-world.info/]]></website><!-- not required --> + <!-- the date-time format should be in RFC822 format --> + <pubDate>1287496800</pubDate> + <!-- the architecture code of this plugin, found PlatformMacro.h into ultracopier source --> + <architecture>windows-x86</architecture> + <!-- Detailed description --> + <description xml:lang="en"><![CDATA[Windows dialog for Ultracopier, to have same copy dialog than windows vista/7/8]]></description> + <description xml:lang="fr"><![CDATA[Dialogue de Windows pour Ultracopier, pour avoir une boite de dialogue pour la copie comme windows vista/7/8]]></description> + <!-- Version of this release of this plugin, need be like that's: A.B.C.D, where A, B, C and D is number --> + <version>1.2.3.6</version> + <!-- This internal name should never change, because it is used to detect when a particular plugin is updated. It must comprise only lower case ASCII characters (a-z), numerical digits (0-9), "-", "." or "_", and it must be be unique within the category. And have size lower than 64 char. --> + <name>Windows</name> + <!-- Dependency checking. This is used to check when a plugin may not be compatible with an updated version of either Ultracopier or another plugin. This example only checks Ultracopier. --> + <dependencies><![CDATA[ + ]]></dependencies> +</package>
\ No newline at end of file diff --git a/plugins-alternative/Themes/Windows/interface.cpp b/plugins-alternative/Themes/Windows/interface.cpp new file mode 100644 index 0000000..e358f9c --- /dev/null +++ b/plugins-alternative/Themes/Windows/interface.cpp @@ -0,0 +1,414 @@ +/** \file interface.cpp +\brief Define the interface core +\author alpha_one_x86 +*/ + +#include "interface.h" +#include "factory.h" +#include "ui_interface.h" + +Themes::Themes(FacilityInterface * facilityEngine) : + ui(new Ui::interface()) +{ + ui->setupUi(this); + remainingSeconds= 0; + speed = 0; + progression_current=0; + progression_total=0; + modeIsForced = false; + haveStarted = false; + this->facilityEngine = facilityEngine; + transferModel.setFacilityEngine(facilityEngine); + menu=new QMenu(this); + ui->toolButton->setMenu(menu); + updateModeAndType(); + + connect(ui->actionAddFile,&QAction::triggered,this,&Themes::forcedModeAddFile); + connect(ui->actionAddFileToCopy,&QAction::triggered,this,&Themes::forcedModeAddFileToCopy); + connect(ui->actionAddFileToMove,&QAction::triggered,this,&Themes::forcedModeAddFileToMove); + connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&Themes::forcedModeAddFolderToCopy); + connect(ui->actionAddFolderToMove,&QAction::triggered,this,&Themes::forcedModeAddFolderToMove); + connect(ui->actionAddFolder,&QAction::triggered,this,&Themes::forcedModeAddFolder); + + updateDetails(); + + #ifdef ULTRACOPIER_PLUGIN_DEBUG + connect(&transferModel,&TransferModel::debugInformation,this,&Themes::debugInformation); + #endif + #ifndef Q_OS_WIN32 + ui->widget_bottom->setStyleSheet("background-color: rgb(237, 237, 237);"); + #endif + show(); +} + +Themes::~Themes() +{ + delete menu; +} + +void Themes::forcedModeAddFile() +{ + emit userAddFile(mode); +} + +void Themes::forcedModeAddFolder() +{ + emit userAddFolder(mode); +} + +void Themes::forcedModeAddFileToCopy() +{ + emit userAddFile(Ultracopier::Copy); +} + +void Themes::forcedModeAddFolderToCopy() +{ + emit userAddFolder(Ultracopier::Copy); +} + +void Themes::forcedModeAddFileToMove() +{ + emit userAddFile(Ultracopier::Move); +} + +void Themes::forcedModeAddFolderToMove() +{ + emit userAddFolder(Ultracopier::Move); +} + +void Themes::updateModeAndType() +{ + menu->clear(); + if(modeIsForced) + { + menu->addAction(ui->actionAddFile); + if(type==Ultracopier::FileAndFolder) + menu->addAction(ui->actionAddFolder); + } + else + { + menu->addAction(ui->actionAddFileToCopy); + menu->addAction(ui->actionAddFileToMove); + if(type==Ultracopier::FileAndFolder) + { + menu->addAction(ui->actionAddFolderToCopy); + menu->addAction(ui->actionAddFolderToMove); + } + } +} + +void Themes::closeEvent(QCloseEvent *event) +{ + event->ignore(); + this->hide(); + emit cancel(); +} + +void Themes::detectedSpeed(const quint64 &speed) +{ + this->speed=speed; + if(ui->more->isChecked()) + ui->label_speed->setText(facilityEngine->speedToString(speed)); +} + +void Themes::setSupportSpeedLimitation(const bool &supportSpeedLimitationBool) +{ + Q_UNUSED(supportSpeedLimitationBool); +} + +QWidget * Themes::getOptionsEngineWidget() +{ + return NULL; +} + +void Themes::getOptionsEngineEnabled(const bool &isEnabled) +{ + Q_UNUSED(isEnabled) +} + +void Themes::setCopyType(const Ultracopier::CopyType &type) +{ + this->type=type; + updateModeAndType(); +} + +void Themes::forceCopyMode(const Ultracopier::CopyMode &mode) +{ + modeIsForced=true; + this->mode=mode; + updateModeAndType(); + updateInformations(); +} + +void Themes::updateTitle() +{ + remainingTime(remainingSeconds); +} + +void Themes::actionInProgess(const Ultracopier::EngineActionInProgress &action) +{ + this->action=action; + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + ui->progressBar->setMaximum(65535); + ui->progressBar->setMinimum(0); + break; + case Ultracopier::Listing: + ui->progressBar->setMaximum(0); + ui->progressBar->setMinimum(0); + break; + case Ultracopier::Idle: + if(haveStarted) + emit cancel(); + break; + default: + break; + } + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + haveStarted=true; + break; + default: + break; + } +} + +void Themes::newTransferStart(const Ultracopier::ItemOfCopyList &item) +{ + ui->text->setText(item.sourceFullPath); +} + +void Themes::newTransferStop(const quint64 &id) +{ + Q_UNUSED(id) +} + +void Themes::newFolderListing(const QString &path) +{ + if(action==Ultracopier::Listing) + ui->text->setText(path); +} + +void Themes::remainingTime(const int &remainingSeconds) +{ + this->remainingSeconds=remainingSeconds; + + QString remainingTime; + if(remainingSeconds>=0) + remainingTime=facilityEngine->simplifiedRemainingTime(remainingSeconds); + else + remainingTime=facilityEngine->translateText(tr("Unknown remaining time")); + + this->setWindowTitle(remainingTime); + + if(ui->more->isChecked()) + ui->label_remaining_time->setText(remainingTime); + else + updateInformations(); +} + +void Themes::newCollisionAction(const QString &action) +{ + Q_UNUSED(action) +} + +void Themes::newErrorAction(const QString &action) +{ + Q_UNUSED(action) +} + +void Themes::errorDetected() +{ +} + +/// \brief new error +void Themes::errorToRetry(const QString &source,const QString &destination,const QString &error) +{ + Q_UNUSED(source); + Q_UNUSED(destination); + Q_UNUSED(error); +} + +void Themes::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation) +{ + Q_UNUSED(transferListOperation) +} + +//speed limitation +bool Themes::setSpeedLimitation(const qint64 &speedLimitation) +{ + Q_UNUSED(speedLimitation) + return false; +} + +//get information about the copy +void Themes::setGeneralProgression(const quint64 ¤t,const quint64 &total) +{ + progression_current=current; + progression_total=total; + ui->progressBar->setValue(((double)current/total)*65535); +} + +void Themes::setCollisionAction(const QList<QPair<QString,QString> > &list) +{ + Q_UNUSED(list) +} + +void Themes::setErrorAction(const QList<QPair<QString,QString> > &list) +{ + Q_UNUSED(list) +} + +//edit the transfer list +void Themes::getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions) +{ + transferModel.synchronizeItems(returnActions); + updateInformations(); +} + +void Themes::haveExternalOrder() +{ + ui->toolButton->hide(); +} + +void Themes::isInPause(const bool &isInPause) +{ + //resume in auto the pause + if(isInPause) + emit resume(); +} + +void Themes::newLanguageLoaded() +{ + ui->retranslateUi(this); + updateTitle(); + updateInformations(); +} + +void Themes::setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList) +{ + QList<Ultracopier::ProgressionItem> progressionListBis=progressionList; + transferModel.setFileProgression(progressionListBis); + updateInformations(); +} + +void Themes::on_more_toggled(bool checked) +{ + Q_UNUSED(checked); + updateDetails(); + updateInformations(); +} + +void Themes::updateDetails() +{ + ui->text->setHidden(ui->more->isChecked()); + ui->details->setHidden(!ui->more->isChecked()); + if(ui->more->isChecked()) + { + this->setMinimumHeight(242); + this->setMaximumHeight(242); + ui->more->setIcon(QIcon(":/Themes/Windows/resources/arrow-up.png")); + } + else + { + this->setMinimumHeight(168); + this->setMaximumHeight(168); + ui->more->setIcon(QIcon(":/Themes/Windows/resources/arrow-down.png")); + } + + // usefull under windows + this->updateGeometry(); + this->update(); + this->adjustSize(); + + updateInformations(); +} + +void Themes::updateInformations() +{ + TransferModel::currentTransfertItem transfertItem=transferModel.getCurrentTransfertItem(); + if(!modeIsForced) + { + if(transferModel.totalFile>1) + ui->label_main->setText(tr("Transferring %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total))); + else + ui->label_main->setText(tr("Transferring %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total))); + } + else + { + if(mode==Ultracopier::Copy) + { + if(transferModel.totalFile>1) + ui->label_main->setText(tr("Copying %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total))); + else + ui->label_main->setText(tr("Copying %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total))); + } + else + { + if(transferModel.totalFile>1) + ui->label_main->setText(tr("Moving %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total))); + else + ui->label_main->setText(tr("Moving %n item(s) (%2)","",transferModel.totalFile).arg(facilityEngine->sizeToString(progression_total))); + } + } + + if(ui->more->isChecked()) + { + if(transfertItem.haveItem) + { + QString simplifiedFrom=transfertItem.from; + QString simplifiedTo=transfertItem.to; + simplifiedFrom.remove(ThemesFactory::slashEnd); + simplifiedTo.remove(ThemesFactory::slashEnd); + simplifiedFrom.replace('\\','/'); + simplifiedTo.replace('\\','/'); + simplifiedFrom.replace(ThemesFactory::isolateName, "\\1"); + simplifiedTo.replace(ThemesFactory::isolateName, "\\1"); + ui->label_file->setText(transfertItem.current_file); + ui->label_from->setText(QStringLiteral("<b>%1</b> (%2)").arg(simplifiedFrom).arg(transfertItem.from)); + ui->label_to->setText(QStringLiteral("<b>%1</b> (%2)").arg(simplifiedTo).arg(transfertItem.to)); + ui->label_items->setText(QStringLiteral("%1 (%2)").arg(transferModel.totalFile-transferModel.currentFile).arg(facilityEngine->sizeToString(progression_total-progression_current))); + } + else + { + ui->label_file->setText(""); + ui->label_from->setText(""); + ui->label_to->setText(""); + ui->label_items->setText(QStringLiteral("%1 (%2)").arg(transferModel.totalFile-transferModel.currentFile).arg(facilityEngine->sizeToString(progression_total-progression_current))); + } + } + else + { + if(transfertItem.haveItem) + { + QString remainingTime; + if(remainingSeconds>=0) + remainingTime=facilityEngine->simplifiedRemainingTime(remainingSeconds); + else + remainingTime=facilityEngine->translateText(tr("Unknown remaining time")); + QString simplifiedFrom=transfertItem.from; + QString simplifiedTo=transfertItem.to; + simplifiedFrom.remove(ThemesFactory::slashEnd); + simplifiedTo.remove(ThemesFactory::slashEnd); + simplifiedFrom.replace('\\','/'); + simplifiedTo.replace('\\','/'); + simplifiedFrom.replace(ThemesFactory::isolateName, "\\1"); + simplifiedTo.replace(ThemesFactory::isolateName, "\\1"); + ui->text->setText( + //: Sample: from <b>sources</b> (e:\folder\source) to <b>destination</b> (d:\desktop\destination)<br />About 5 Hours remaining + tr("from <b>%1</b> (%2) to <b>%3</b> (%4)<br />%5") + .arg(simplifiedFrom) + .arg(transfertItem.from) + .arg(simplifiedTo) + .arg(transfertItem.to) + .arg(remainingTime) + ); + } + else + ui->text->setText(tr("In waiting")); + } +} diff --git a/plugins-alternative/Themes/Windows/interface.h b/plugins-alternative/Themes/Windows/interface.h new file mode 100644 index 0000000..5de55e6 --- /dev/null +++ b/plugins-alternative/Themes/Windows/interface.h @@ -0,0 +1,165 @@ +/** \file interface.h +\brief Define the interface +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#ifndef INTERFACE_TEST_H +#define INTERFACE_TEST_H + +#include <QObject> +#include <QWidget> +#include <QMenu> +#include <QCloseEvent> + +#include "../../../interface/PluginInterface_Themes.h" +#include "TransferModel.h" + +namespace Ui { + class interface; +} + +/// \brief Define the interface +class Themes : public PluginInterface_Themes +{ + Q_OBJECT +public slots: + //send information about the copy + /// \brief to set the action in progress + void actionInProgess(const Ultracopier::EngineActionInProgress &); + /// \brief new transfer have started + void newTransferStart(const Ultracopier::ItemOfCopyList &item); + /** \brief one transfer have been stopped + * is stopped, example: because error have occurred, and try later, don't remove the item! */ + void newTransferStop(const quint64 &id); + /// \brief the new folder is listing + void newFolderListing(const QString &path); + /** \brief show the detected speed + * in byte per seconds */ + void detectedSpeed(const quint64 &speed); + /** \brief support speed limitation */ + void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool); + /** \brief show the remaining time + * time in seconds */ + void remainingTime(const int &remainingSeconds); + /// \brief set the current collision action + void newCollisionAction(const QString &action); + /// \brief set the current error action + void newErrorAction(const QString &action); + /// \brief set one error is detected + void errorDetected(); + /// \brief new error + void errorToRetry(const QString &source,const QString &destination,const QString &error); + //speed limitation + /** \brief the max speed used + * in byte per seconds, -1 if not able, 0 if disabled */ + bool setSpeedLimitation(const qint64 &speedLimitation); + //set the translate + void newLanguageLoaded(); +public: + /// \brief the transfer item with progression + struct ItemOfCopyListWithMoreInformations + { + quint64 currentProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + /// \brief returned first transfer item + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + int progressBar_file; + }; + /// \brief get the widget for the copy engine + QWidget * getOptionsEngineWidget(); + /// \brief to set if the copy engine is found + void getOptionsEngineEnabled(const bool &isEnabled); + /// \brief get action on the transfer list (add/move/remove) + void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList> &returnActions); + //get information about the copy + /// \brief show the general progression + void setGeneralProgression(const quint64 ¤t,const quint64 &total); + /// \brief show the file progression + void setFileProgression(const QList<Ultracopier::ProgressionItem> &progressionList); + /// \brief set collision action + void setCollisionAction(const QList<QPair<QString,QString> > &); + /// \brief set error action + void setErrorAction(const QList<QPair<QString,QString> > &); + /// \brief set the copyType -> file or folder + void setCopyType(const Ultracopier::CopyType &); + /// \brief set the copyMove -> copy or move, to force in copy or move, else support both + void forceCopyMode(const Ultracopier::CopyMode &); + /// \brief set if transfer list is exportable/importable + void setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation); + /** \brief set if the order is external (like file manager copy) + * to notify the interface, which can hide add folder/filer button */ + void haveExternalOrder(); + /// \brief set if is in pause + void isInPause(const bool &); +signals: + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne); + #endif +/* //set the transfer list + void removeItems(QList<int> ids); + void moveItemsOnTop(QList<int> ids); + void moveItemsUp(QList<int> ids); + void moveItemsDown(QList<int> ids); + void moveItemsOnBottom(QList<int> ids); + void exportTransferList(); + void importTransferList(); + //user ask ask to add folder (add it with interface ask source/destination) + void userAddFolder(CopyMode); + void userAddFile(CopyMode); + void urlDropped(QList<QUrl> urls); + //action on the copy + void pause(); + void resume(); + void skip(quint64 id); + void cancel(); + //edit the action + void sendCollisionAction(QString action); + void sendErrorAction(QString action); + void newSpeedLimitation(qint64);*/ +public: + //constructor and destructor + Themes(FacilityInterface * facilityEngine); + ~Themes(); +private: + Ui::interface *ui; + TransferModel transferModel; + void updateTitle(); + QMenu *menu; + Ultracopier::EngineActionInProgress action; + void closeEvent(QCloseEvent *event); + void updateModeAndType(); + bool modeIsForced; + Ultracopier::CopyType type; + Ultracopier::CopyMode mode; + bool haveStarted; + QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation; + int loop_size,index_for_loop; + int sub_loop_size,sub_index_for_loop; + FacilityInterface * facilityEngine; + void updateDetails(); + void updateInformations(); + int remainingSeconds; + quint64 progression_current; + quint64 progression_total; + quint64 speed; +private slots: + void forcedModeAddFile(); + void forcedModeAddFolder(); + void forcedModeAddFileToCopy(); + void forcedModeAddFolderToCopy(); + void forcedModeAddFileToMove(); + void forcedModeAddFolderToMove(); + void on_more_toggled(bool checked); +}; + +#endif // INTERFACE_TEST_H diff --git a/plugins-alternative/Themes/Windows/interface.pro b/plugins-alternative/Themes/Windows/interface.pro new file mode 100644 index 0000000..9a82f6a --- /dev/null +++ b/plugins-alternative/Themes/Windows/interface.pro @@ -0,0 +1,48 @@ +CONFIG += c++11 +QMAKE_CXXFLAGS+="-std=c++0x -Wall -Wextra" +mac:QMAKE_CXXFLAGS+="-stdlib=libc++" + +QT += widgets +TEMPLATE = lib +CONFIG += plugin +HEADERS = interface.h \ + StructEnumDefinition.h \ + factory.h \ + ../../../interface/PluginInterface_Themes.h \ + TransferModel.h +SOURCES = interface.cpp \ + factory.cpp \ + TransferModel.cpp +TARGET = $$qtLibraryTarget(interface) +TRANSLATIONS += Languages/ar/translation.ts \ + Languages/de/translation.ts \ + Languages/el/translation.ts \ + Languages/en/translation.ts \ + Languages/es/translation.ts \ + Languages/fr/translation.ts \ + Languages/hi/translation.ts \ + Languages/hu/translation.ts \ + Languages/id/translation.ts \ + Languages/it/translation.ts \ + Languages/ja/translation.ts \ + Languages/ko/translation.ts \ + Languages/nl/translation.ts \ + Languages/no/translation.ts \ + Languages/pl/translation.ts \ + Languages/ru/translation.ts \ + Languages/th/translation.ts \ + Languages/tr/translation.ts \ + Languages/zh/translation.ts + +FORMS += \ + interface.ui + +RESOURCES += \ + resources.qrc + +win32 { + RESOURCES += resources_windows.qrc +} +!win32 { + RESOURCES += resources_unix.qrc +} diff --git a/plugins-alternative/Themes/Windows/interface.ui b/plugins-alternative/Themes/Windows/interface.ui new file mode 100644 index 0000000..f255562 --- /dev/null +++ b/plugins-alternative/Themes/Windows/interface.ui @@ -0,0 +1,415 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>interface</class> + <widget class="QWidget" name="interface"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>420</width> + <height>284</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>420</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>420</width> + <height>16777215</height> + </size> + </property> + <property name="windowTitle"> + <string notr="true">Ultracopier</string> + </property> + <property name="windowIcon"> + <iconset resource="resources.qrc"> + <normaloff>:/Themes/Windows/resources/icon.png</normaloff>:/Themes/Windows/resources/icon.png</iconset> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="margin"> + <number>0</number> + </property> + <item> + <widget class="QWidget" name="widget" native="true"> + <property name="minimumSize"> + <size> + <width>420</width> + <height>42</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>420</width> + <height>42</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:0, stop:0 rgba(230, 240, 255, 255), stop:0.5 rgba(166, 199, 230, 255), stop:1 rgba(3, 40, 84, 255));</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <property name="leftMargin"> + <number>20</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>20</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QLabel" name="label_main"> + <property name="styleSheet"> + <string notr="true">background-color: rgba(255, 0, 0, 0); +font: 12pt "Sans Serif";</string> + </property> + <property name="text"> + <string notr="true">Copying 0 item (0KB)</string> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="label_2"> + <property name="minimumSize"> + <size> + <width>51</width> + <height>40</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>51</width> + <height>40</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background-color: rgba(255, 0, 0, 0);</string> + </property> + <property name="pixmap"> + <pixmap resource="resources.qrc">:/Themes/Windows/resources/icon-top.png</pixmap> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QWidget" name="widget_2" native="true"> + <property name="minimumSize"> + <size> + <width>420</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>420</width> + <height>16777215</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background-color: rgb(255, 255, 255);</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="spacing"> + <number>14</number> + </property> + <property name="leftMargin"> + <number>20</number> + </property> + <property name="topMargin"> + <number>14</number> + </property> + <property name="rightMargin"> + <number>20</number> + </property> + <property name="bottomMargin"> + <number>14</number> + </property> + <item> + <widget class="QLabel" name="text"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Minimum" vsizetype="Minimum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>28</height> + </size> + </property> + <property name="text"> + <string notr="true">from <b>%1</b> (%2) to <b>%3</b> (%4)<br /> +%5</string> + </property> + </widget> + </item> + <item> + <widget class="QWidget" name="details" native="true"> + <layout class="QFormLayout" name="formLayout"> + <property name="labelAlignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + <property name="verticalSpacing"> + <number>2</number> + </property> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Name:</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLabel" name="label_file"/> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>From:</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLabel" name="label_from"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>To:</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLabel" name="label_to"/> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Time remaining:</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLabel" name="label_remaining_time"/> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_8"> + <property name="text"> + <string>Items remaining:</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLabel" name="label_items"/> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Speed:</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLabel" name="label_speed"/> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QProgressBar" name="progressBar"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>14</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>16777215</width> + <height>14</height> + </size> + </property> + <property name="maximum"> + <number>65535</number> + </property> + <property name="textVisible"> + <bool>false</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QWidget" name="widget_bottom" native="true"> + <property name="minimumSize"> + <size> + <width>420</width> + <height>42</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>420</width> + <height>42</height> + </size> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="leftMargin"> + <number>20</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>20</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QToolButton" name="more"> + <property name="text"> + <string>More information</string> + </property> + <property name="icon"> + <iconset resource="resources.qrc"> + <normaloff>:/Themes/Windows/resources/arrow-down.png</normaloff>:/Themes/Windows/resources/arrow-down.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="toolButtonStyle"> + <enum>Qt::ToolButtonTextBesideIcon</enum> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>123</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="toolButton"> + <property name="text"> + <string notr="true">...</string> + </property> + <property name="popupMode"> + <enum>QToolButton::InstantPopup</enum> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="Cancel"> + <property name="text"> + <string>Cancel</string> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + <action name="actionAddFile"> + <property name="icon"> + <iconset> + <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset> + </property> + <property name="text"> + <string>Add file</string> + </property> + </action> + <action name="actionAddFolder"> + <property name="icon"> + <iconset> + <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset> + </property> + <property name="text"> + <string>Add folder</string> + </property> + </action> + <action name="actionAddFileToMove"> + <property name="icon"> + <iconset> + <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset> + </property> + <property name="text"> + <string>Move file(s)</string> + </property> + </action> + <action name="actionAddFolderToMove"> + <property name="icon"> + <iconset> + <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset> + </property> + <property name="text"> + <string>Move folder</string> + </property> + </action> + <action name="actionAddFileToCopy"> + <property name="icon"> + <iconset> + <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset> + </property> + <property name="text"> + <string>Copy file(s)</string> + </property> + </action> + <action name="actionAddFolderToCopy"> + <property name="icon"> + <iconset> + <normaloff>:/Themes/Windows/resources/add.png</normaloff>:/Themes/Windows/resources/add.png</iconset> + </property> + <property name="text"> + <string>Copy folder</string> + </property> + </action> + </widget> + <resources> + <include location="resources.qrc"/> + </resources> + <connections> + <connection> + <sender>Cancel</sender> + <signal>clicked()</signal> + <receiver>interface</receiver> + <slot>close()</slot> + <hints> + <hint type="sourcelabel"> + <x>388</x> + <y>349</y> + </hint> + <hint type="destinationlabel"> + <x>523</x> + <y>498</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/plugins-alternative/Themes/Windows/plugin.json b/plugins-alternative/Themes/Windows/plugin.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/plugins-alternative/Themes/Windows/plugin.json @@ -0,0 +1 @@ +{}
\ No newline at end of file diff --git a/plugins-alternative/Themes/Windows/resources.qrc b/plugins-alternative/Themes/Windows/resources.qrc new file mode 100644 index 0000000..f7ffc64 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources.qrc @@ -0,0 +1,10 @@ +<RCC> + <qresource prefix="/Themes/Windows"> + <file>resources/icon.png</file> + <file>resources/arrow-down.png</file> + <file>resources/arrow-up.png</file> + <file>resources/SystemTrayIcon/informations.png</file> + <file>resources/icon-top.png</file> + <file>resources/empty.png</file> + </qresource> +</RCC> diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/informations.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/informations.png Binary files differnew file mode 100644 index 0000000..5b7b255 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/informations.png diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.png Binary files differnew file mode 100644 index 0000000..6f5d1cf --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Unix.png diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.png Binary files differnew file mode 100644 index 0000000..5464856 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Caught_Windows.png diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png Binary files differnew file mode 100644 index 0000000..3961215 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Unix.png diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png Binary files differnew file mode 100644 index 0000000..45d6315 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Semiuncaught_Windows.png diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.png Binary files differnew file mode 100644 index 0000000..ac4299a --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Unix.png diff --git a/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.png b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.png Binary files differnew file mode 100644 index 0000000..6e6bae7 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/SystemTrayIcon/systray_Uncaught_Windows.png diff --git a/plugins-alternative/Themes/Windows/resources/arrow-down.png b/plugins-alternative/Themes/Windows/resources/arrow-down.png Binary files differnew file mode 100644 index 0000000..39b5c37 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/arrow-down.png diff --git a/plugins-alternative/Themes/Windows/resources/arrow-up.png b/plugins-alternative/Themes/Windows/resources/arrow-up.png Binary files differnew file mode 100644 index 0000000..5c824fb --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/arrow-up.png diff --git a/plugins-alternative/Themes/Windows/resources/empty.png b/plugins-alternative/Themes/Windows/resources/empty.png Binary files differnew file mode 100644 index 0000000..846d96d --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/empty.png diff --git a/plugins-alternative/Themes/Windows/resources/icon-top.png b/plugins-alternative/Themes/Windows/resources/icon-top.png Binary files differnew file mode 100644 index 0000000..64b7992 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/icon-top.png diff --git a/plugins-alternative/Themes/Windows/resources/icon-top.xcf b/plugins-alternative/Themes/Windows/resources/icon-top.xcf Binary files differnew file mode 100644 index 0000000..9a775e2 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/icon-top.xcf diff --git a/plugins-alternative/Themes/Windows/resources/icon.png b/plugins-alternative/Themes/Windows/resources/icon.png Binary files differnew file mode 100644 index 0000000..eccfbc5 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources/icon.png diff --git a/plugins-alternative/Themes/Windows/resources_unix.qrc b/plugins-alternative/Themes/Windows/resources_unix.qrc new file mode 100644 index 0000000..3904f69 --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources_unix.qrc @@ -0,0 +1,7 @@ +<RCC> + <qresource prefix="/Themes/Windows"> + <file>resources/SystemTrayIcon/systray_Caught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Semiuncaught_Unix.png</file> + <file>resources/SystemTrayIcon/systray_Uncaught_Unix.png</file> + </qresource> +</RCC> diff --git a/plugins-alternative/Themes/Windows/resources_windows.qrc b/plugins-alternative/Themes/Windows/resources_windows.qrc new file mode 100644 index 0000000..28666fc --- /dev/null +++ b/plugins-alternative/Themes/Windows/resources_windows.qrc @@ -0,0 +1,7 @@ +<RCC> + <qresource prefix="/Themes/Windows"> + <file>resources/SystemTrayIcon/systray_Caught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Semiuncaught_Windows.png</file> + <file>resources/SystemTrayIcon/systray_Uncaught_Windows.png</file> + </qresource> +</RCC> |