diff options
author | Thomas Preud'homme <robotux@celest.fr> | 2018-05-29 05:44:34 +0100 |
---|---|---|
committer | Thomas Preud'homme <robotux@celest.fr> | 2018-05-29 05:44:34 +0100 |
commit | 594fcba67600704bee9115c86e18927b2237b304 (patch) | |
tree | 38dc620e6b8e9a76c1953ded39c1dc006a830728 /plugins-unmaintained/Themes/Teracopy/interface.h | |
parent | 20062a6a4bc2aec8ada645baa78ff68892ccd154 (diff) |
New upstream version 1.4.0.8
Diffstat (limited to 'plugins-unmaintained/Themes/Teracopy/interface.h')
-rw-r--r-- | plugins-unmaintained/Themes/Teracopy/interface.h | 176 |
1 files changed, 176 insertions, 0 deletions
diff --git a/plugins-unmaintained/Themes/Teracopy/interface.h b/plugins-unmaintained/Themes/Teracopy/interface.h new file mode 100644 index 0000000..b2f6a70 --- /dev/null +++ b/plugins-unmaintained/Themes/Teracopy/interface.h @@ -0,0 +1,176 @@ +/** \file interface.h +\brief Define the interface test +\author alpha_one_x86 +\licence GPL3, see the file COPYING */ + +#ifndef INTERFACE_H +#define INTERFACE_H + +#include <QObject> +#include <QWidget> +#include <QCloseEvent> +#include <QMenu> +#include <QColor> + +#include "../../../interface/PluginInterface_Themes.h" + +#include "ui_interface.h" +#include "Environment.h" +#include "TransferModel.h" + +namespace Ui { + class interfaceCopy; +} + +/// \brief Define the interface +class Themes : public PluginInterface_Themes +{ + Q_OBJECT +private: + struct ItemOfCopyListWithMoreInformations + { + quint64 currentProgression; + Ultracopier::ItemOfCopyList generalData; + Ultracopier::ActionTypeCopyList actionType; + bool custom_with_progression; + }; + struct currentTransfertItem + { + quint64 id; + bool haveItem; + QString from; + QString to; + QString current_file; + int progressBar_file; + }; + Ui::interfaceCopy *ui; + quint64 currentFile; + quint64 totalFile; + quint64 currentSize; + quint64 totalSize; + void updateOverallInformation(); + void updateCurrentFileInformation(); + Ultracopier::EngineActionInProgress action; + void closeEvent(QCloseEvent *event); + QList<ItemOfCopyListWithMoreInformations> currentProgressList; + QString speedString; + bool storeIsInPause; + bool modeIsForced; + Ultracopier::CopyType type; + Ultracopier::CopyMode mode; + void updateModeAndType(); + bool haveStarted; + QWidget optionEngineWidget; + void updateTitle(); + QMenu menu; + FacilityInterface * facilityEngine; + int loop_size,loop_sub_size,indexAction,index; + int index_for_loop,sub_loop_size,sub_index_for_loop; + currentTransfertItem getCurrentTransfertItem(); + QList<quint64> startId,stopId;///< To show what is started, what is stopped + QList<ItemOfCopyListWithMoreInformations> InternalRunningOperation;///< to have progression and stat + /// \brief the custom transfer model + TransferModel transferModel; + QColor progressColorWrite; + QColor progressColorRead; + QColor progressColorRemaining; +public: + //send information about the copy + /// \brief to set the action in progress + void actionInProgess(const Ultracopier::EngineActionInProgress &); + /// \brief new transfer have started + void newTransferStart(const Ultracopier::ItemOfCopyList &item); + /** \brief one transfer have been stopped + * is stopped, example: because error have occurred, and try later, don't remove the item! */ + void newTransferStop(const quint64 &id); + /// \brief the new folder is listing + void newFolderListing(const QString &path); + /** \brief show the detected speed + * in byte per seconds */ + void detectedSpeed(const quint64 &speed); + /** \brief support speed limitation */ + void setSupportSpeedLimitation(const bool &supportSpeedLimitationBool); + /** \brief show the remaining time + * time in seconds */ + void remainingTime(const int &remainingSeconds); + /// \brief set the current collision action + void newCollisionAction(const QString &action); + /// \brief set the current error action + void newErrorAction(const QString &action); + /// \brief set one error is detected + void errorDetected(); + /// \brief new error + void errorToRetry(const QString &source,const QString &destination,const QString &error); + //speed limitation + /** \brief the max speed used + * in byte per seconds, -1 if not able, 0 if disabled */ + bool setSpeedLimitation(const qint64 &speedLimitation); + Themes(FacilityInterface * facilityEngine); + ~Themes(); + //get information about the copy + /// \brief show the general progression + void setGeneralProgression(const quint64 ¤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(); +signals: + #ifdef ULTRACOPIER_PLUGIN_DEBUG + /// \brief To debug source + void debugInformation(const Ultracopier::DebugLevel &level,const QString &fonction,const QString &text,const QString &file,const int &ligne); + #endif + //set the transfer list + /*void removeItems(QList<int> ids); + void moveItemsOnTop(QList<int> ids); + void moveItemsUp(QList<int> ids); + void moveItemsDown(QList<int> ids); + void moveItemsOnBottom(QList<int> ids); + void exportTransferList(); + void importTransferList(); + //user ask ask to add folder (add it with interface ask source/destination) + void userAddFolder(Ultracopier::CopyMode); + void userAddFile(Ultracopier::CopyMode); + void urlDropped(QList<QUrl> urls); + //action on the copy + void pause(); + void resume(); + void skip(quint64 id); + void cancel(); + //edit the action + void sendCollisionAction(QString action); + void sendErrorAction(QString action); + void newSpeedLimitation(qint64);*/ +public slots: + //set the translate + void newLanguageLoaded(); + void getActionOnList(const QList<Ultracopier::ReturnActionOnCopyList>& returnActions); +}; + +#endif // INTERFACE_H |