From 594fcba67600704bee9115c86e18927b2237b304 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Tue, 29 May 2018 05:44:34 +0100 Subject: New upstream version 1.4.0.8 --- plugins-unmaintained/Themes/Clean/interface.cpp | 426 ++++++++++++++++++++++++ 1 file changed, 426 insertions(+) create mode 100644 plugins-unmaintained/Themes/Clean/interface.cpp (limited to 'plugins-unmaintained/Themes/Clean/interface.cpp') diff --git a/plugins-unmaintained/Themes/Clean/interface.cpp b/plugins-unmaintained/Themes/Clean/interface.cpp new file mode 100644 index 0000000..3f2cd2a --- /dev/null +++ b/plugins-unmaintained/Themes/Clean/interface.cpp @@ -0,0 +1,426 @@ +/** \file interface.cpp +\brief Define the interface core +\author alpha_one_x86 +*/ + +#include "interface.h" +#include "ui_interface.h" + +InterfacePlugin::InterfacePlugin(FacilityInterface * facilityEngine) : + ui(new Ui::interface()) +{ + ui->setupUi(this); + currentFile = 0; + totalFile = 0; + currentSize = 0; + totalSize = 0; + modeIsForced = false; + haveStarted = false; + this->facilityEngine = facilityEngine; + menu=new QMenu(this); + ui->toolButton->setMenu(menu); + updateModeAndType(); + + connect(ui->actionAddFile,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFile); + connect(ui->actionAddFileToCopy,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFileToCopy); + connect(ui->actionAddFileToMove,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFileToMove); + connect(ui->actionAddFolderToCopy,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolderToCopy); + connect(ui->actionAddFolderToMove,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolderToMove); + connect(ui->actionAddFolder,&QAction::triggered,this,&InterfacePlugin::forcedModeAddFolder); + show(); +} + +InterfacePlugin::~InterfacePlugin() +{ + delete menu; +} + +void InterfacePlugin::forcedModeAddFile() +{ + emit userAddFile(mode); +} + +void InterfacePlugin::forcedModeAddFolder() +{ + emit userAddFolder(mode); +} + +void InterfacePlugin::forcedModeAddFileToCopy() +{ + emit userAddFile(Ultracopier::Copy); +} + +void InterfacePlugin::forcedModeAddFolderToCopy() +{ + emit userAddFolder(Ultracopier::Copy); +} + +void InterfacePlugin::forcedModeAddFileToMove() +{ + emit userAddFile(Ultracopier::Move); +} + +void InterfacePlugin::forcedModeAddFolderToMove() +{ + emit userAddFolder(Ultracopier::Move); +} + +void InterfacePlugin::updateModeAndType() +{ + menu->clear(); + if(modeIsForced) + { + menu->addAction(ui->actionAddFile); + if(type==Ultracopier::FileAndFolder) + menu->addAction(ui->actionAddFolder); + } + else + { + menu->addAction(ui->actionAddFileToCopy); + menu->addAction(ui->actionAddFileToMove); + if(type==Ultracopier::FileAndFolder) + { + menu->addAction(ui->actionAddFolderToCopy); + menu->addAction(ui->actionAddFolderToMove); + } + } +} + +void InterfacePlugin::closeEvent(QCloseEvent *event) +{ + event->ignore(); + this->hide(); + emit cancel(); +} + +void InterfacePlugin::detectedSpeed(const quint64 &speed) +{ + Q_UNUSED(speed) +} + +QWidget * InterfacePlugin::getOptionsEngineWidget() +{ + return NULL; +} + +void InterfacePlugin::getOptionsEngineEnabled(const bool &isEnabled) +{ + Q_UNUSED(isEnabled) +} + +void InterfacePlugin::setCopyType(const Ultracopier::CopyType &type) +{ + this->type=type; + updateModeAndType(); +} + +void InterfacePlugin::forceCopyMode(const Ultracopier::CopyMode &mode) +{ + modeIsForced=true; + this->mode=mode; + updateModeAndType(); +} + +void InterfacePlugin::updateTitle() +{ + QString actionString; + switch(action) + { + case Ultracopier::Listing: + actionString=facilityEngine->translateText("Listing"); + break; + case Ultracopier::Copying: + actionString=facilityEngine->translateText("Copying"); + break; + case Ultracopier::CopyingAndListing: + actionString=facilityEngine->translateText("Listing and copying"); + break; + case Ultracopier::Idle: + actionString="Ultracopier"; + break; + } + this->setWindowTitle(actionString+" - "+tr("%1/%2 files, %3/%4").arg(currentFile).arg(totalFile).arg(currentSize).arg(totalSize)); +} + +void InterfacePlugin::actionInProgess(const Ultracopier::EngineActionInProgress &action) +{ + this->action=action; + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + ui->progressBar->setMaximum(65535); + ui->progressBar->setMinimum(0); + break; + case Ultracopier::Listing: + ui->progressBar->setMaximum(0); + ui->progressBar->setMinimum(0); + break; + case Ultracopier::Idle: + if(haveStarted) + emit cancel(); + break; + default: + break; + } + switch(action) + { + case Ultracopier::Copying: + case Ultracopier::CopyingAndListing: + haveStarted=true; + break; + default: + break; + } +} + +void InterfacePlugin::newTransferStart(const Ultracopier::ItemOfCopyList &item) +{ + ui->text->setText(item.sourceFullPath); +} + +void InterfacePlugin::newTransferStop(const quint64 &id) +{ + Q_UNUSED(id) +} + +void InterfacePlugin::newFolderListing(const QString &path) +{ + if(action==Ultracopier::Listing) + ui->text->setText(path); +} + +void InterfacePlugin::remainingTime(const int &remainingSeconds) +{ + Q_UNUSED(remainingSeconds) +} + +void InterfacePlugin::newCollisionAction(const QString &action) +{ + Q_UNUSED(action) +} + +void InterfacePlugin::newErrorAction(const QString &action) +{ + Q_UNUSED(action) +} + +void InterfacePlugin::errorDetected() +{ +} + +/// \brief new error +void InterfacePlugin::errorToRetry(const QString &source,const QString &destination,const QString &error) +{ + Q_UNUSED(source); + Q_UNUSED(destination); + Q_UNUSED(error); +} + +void InterfacePlugin::setTransferListOperation(const Ultracopier::TransferListOperation &transferListOperation) +{ + Q_UNUSED(transferListOperation) +} + +//speed limitation +bool InterfacePlugin::setSpeedLimitation(const qint64 &speedLimitation) +{ + Q_UNUSED(speedLimitation) + return false; +} + +//get information about the copy +void InterfacePlugin::setGeneralProgression(const quint64 ¤t,const quint64 &total) +{ + ui->progressBar->setValue(((double)current/total)*65535); +} + +void InterfacePlugin::setCollisionAction(const QList > &list) +{ + Q_UNUSED(list) +} + +void InterfacePlugin::setErrorAction(const QList > &list) +{ + Q_UNUSED(list) +} + +//edit the transfer list +void InterfacePlugin::getActionOnList(const QList &returnActions) +{ + Q_UNUSED(returnActions) +} + +void InterfacePlugin::haveExternalOrder() +{ + ui->toolButton->hide(); +} + +void InterfacePlugin::isInPause(const bool &isInPause) +{ + //resume in auto the pause + if(isInPause) + emit resume(); +} + +void InterfacePlugin::newLanguageLoaded() +{ + ui->retranslateUi(this); + updateTitle(); +} + +/* + Return[0]: totalFile + Return[1]: totalSize + Return[2]: currentFile + */ +void InterfacePlugin::synchronizeItems(const QList& returnActions) +{ + loop_size=returnActions.size(); + index_for_loop=0; + while(index_for_loop &progressionList) +{ + loop_size=InternalRunningOperation.size(); + sub_loop_size=progressionList.size(); + index_for_loop=0; + while(index_for_loop0; + 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; +} + -- cgit v1.2.3