summaryrefslogtreecommitdiff
path: root/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp
diff options
context:
space:
mode:
authorThomas Preud'homme <robotux@celest.fr>2019-02-03 00:10:52 +0000
committerThomas Preud'homme <robotux@celest.fr>2019-02-03 00:10:52 +0000
commit9b10c21f5cad0e2ec27d23c59e65af7141a226f3 (patch)
treebf81d75a9ed990bb76488c502767600fcf7550b7 /plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp
parent594fcba67600704bee9115c86e18927b2237b304 (diff)
New upstream version 1.6.1.3
Diffstat (limited to 'plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp')
-rw-r--r--plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp120
1 files changed, 64 insertions, 56 deletions
diff --git a/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp b/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp
index 6822481..ce86c94 100644
--- a/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp
+++ b/plugins/CopyEngine/Ultracopier/CopyEngineFactory.cpp
@@ -182,10 +182,12 @@ void CopyEngineFactory::setResources(OptionInterface * options,const std::string
size_t max_memory=getTotalSystemMemory()/1024;
if(max_memory>0)
{
+ if(max_memory>2147483648)
+ max_memory=2147483648;
if(sequentialBuffer>(max_memory/10))
- sequentialBuffer=max_memory/10;
+ sequentialBuffer=max_memory/10;
if(parallelBuffer>(max_memory/100))
- parallelBuffer=max_memory/100;
+ parallelBuffer=max_memory/100;
}
ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Information,QStringLiteral("detected memory: %1MB").arg(max_memory/1024).toStdString());
#endif
@@ -223,62 +225,11 @@ void CopyEngineFactory::setResources(OptionInterface * options,const std::string
KeysList.push_back(std::pair<std::string, std::string>("inodeThreads",std::to_string(1)));
KeysList.push_back(std::pair<std::string, std::string>("copyListOrder","false"));
options->addOptionGroup(KeysList);
- #if ! defined (Q_CC_GNU)
- ui->keepDate->setEnabled(false);
- ui->keepDate->setToolTip(QStringLiteral("Not supported with this compiler"));
- #endif
- ui->doRightTransfer->setChecked(stringtobool(options->getOptionValue("doRightTransfer")));
- ui->keepDate->setChecked(stringtobool(options->getOptionValue("keepDate")));
- ui->blockSize->setValue(stringtouint32(options->getOptionValue("blockSize")));//keep before sequentialBuffer and parallelBuffer
- ui->autoStart->setChecked(stringtobool(options->getOptionValue("autoStart")));
- #ifdef ULTRACOPIER_PLUGIN_RSYNC
- ui->rsync->setChecked(stringtobool(options->getOptionValue("rsync")));
- #else
- ui->label_rsync->setVisible(false);
- ui->rsync->setVisible(false);
- #endif
- ui->comboBoxFolderError->setCurrentIndex(stringtouint32(options->getOptionValue("folderError")));
- ui->comboBoxFolderCollision->setCurrentIndex(stringtouint32(options->getOptionValue("folderCollision")));
- ui->comboBoxFileError->setCurrentIndex(stringtouint32(options->getOptionValue("fileError")));
- ui->comboBoxFileCollision->setCurrentIndex(stringtouint32(options->getOptionValue("fileCollision")));
- ui->transferAlgorithm->setCurrentIndex(stringtouint32(options->getOptionValue("transferAlgorithm")));
- ui->checkBoxDestinationFolderExists->setChecked(stringtobool(options->getOptionValue("checkDestinationFolder")));
- ui->parallelizeIfSmallerThan->setValue(stringtouint32(options->getOptionValue("parallelizeIfSmallerThan")));
- ui->sequentialBuffer->setValue(stringtouint32(options->getOptionValue("sequentialBuffer")));
- ui->parallelBuffer->setValue(stringtouint32(options->getOptionValue("parallelBuffer")));
- ui->sequentialBuffer->setSingleStep(ui->blockSize->value());
- ui->parallelBuffer->setSingleStep(ui->blockSize->value());
- ui->deletePartiallyTransferredFiles->setChecked(stringtobool(options->getOptionValue("deletePartiallyTransferredFiles")));
- ui->moveTheWholeFolder->setChecked(stringtobool(options->getOptionValue("moveTheWholeFolder")));
- ui->followTheStrictOrder->setChecked(stringtobool(options->getOptionValue("followTheStrictOrder")));
- ui->inodeThreads->setValue(stringtouint32(options->getOptionValue("inodeThreads")));
- ui->renameTheOriginalDestination->setChecked(stringtobool(options->getOptionValue("renameTheOriginalDestination")));
- ui->checkDiskSpace->setChecked(stringtobool(options->getOptionValue("checkDiskSpace")));
- ui->defaultDestinationFolder->setText(QString::fromStdString(options->getOptionValue("defaultDestinationFolder")));
-
- ui->doChecksum->setChecked(stringtobool(options->getOptionValue("doChecksum")));
- ui->checksumIgnoreIfImpossible->setChecked(stringtobool(options->getOptionValue("checksumIgnoreIfImpossible")));
- ui->checksumOnlyOnError->setChecked(stringtobool(options->getOptionValue("checksumOnlyOnError")));
-
- ui->osBuffer->setChecked(stringtobool(options->getOptionValue("osBuffer")));
- ui->osBufferLimited->setChecked(stringtobool(options->getOptionValue("osBufferLimited")));
- ui->osBufferLimit->setValue(stringtouint32(options->getOptionValue("osBufferLimit")));
- //ui->autoStart->setChecked(options->getOptionValue("autoStart").toBool());//moved from options(), wrong previous place
- includeStrings=stringtostringlist(options->getOptionValue("includeStrings"));
- includeOptions=stringtostringlist(options->getOptionValue("includeOptions"));
- excludeStrings=stringtostringlist(options->getOptionValue("excludeStrings"));
- excludeOptions=stringtostringlist(options->getOptionValue("excludeOptions"));
- filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
- firstRenamingRule=options->getOptionValue("firstRenamingRule");
- otherRenamingRule=options->getOptionValue("otherRenamingRule");
- renamingRules->setRenamingRules(firstRenamingRule,otherRenamingRule);
-
- ui->checksumOnlyOnError->setEnabled(ui->doChecksum->isChecked());
- ui->checksumIgnoreIfImpossible->setEnabled(ui->doChecksum->isChecked());
- ui->copyListOrder->setChecked(stringtobool(options->getOptionValue("copyListOrder")));
- updateBufferCheckbox();
optionsEngine=options;
+ resetOptions();
+
+ updateBufferCheckbox();
updatedBlockSize();
}
@@ -315,6 +266,63 @@ bool CopyEngineFactory::canDoOnlyCopy() const
void CopyEngineFactory::resetOptions()
{
+ auto options=optionsEngine;
+ optionsEngine=NULL;
+ #if ! defined (Q_CC_GNU)
+ ui->keepDate->setEnabled(false);
+ ui->keepDate->setToolTip(QStringLiteral("Not supported with this compiler"));
+ #endif
+ ui->doRightTransfer->setChecked(stringtobool(options->getOptionValue("doRightTransfer")));
+ ui->keepDate->setChecked(stringtobool(options->getOptionValue("keepDate")));
+ ui->blockSize->setValue(stringtouint32(options->getOptionValue("blockSize")));//keep before sequentialBuffer and parallelBuffer
+ ui->autoStart->setChecked(stringtobool(options->getOptionValue("autoStart")));
+ #ifdef ULTRACOPIER_PLUGIN_RSYNC
+ ui->rsync->setChecked(stringtobool(options->getOptionValue("rsync")));
+ #else
+ ui->label_rsync->setVisible(false);
+ ui->rsync->setVisible(false);
+ #endif
+ ui->comboBoxFolderError->setCurrentIndex(stringtouint32(options->getOptionValue("folderError")));
+ ui->comboBoxFolderCollision->setCurrentIndex(stringtouint32(options->getOptionValue("folderCollision")));
+ ui->comboBoxFileError->setCurrentIndex(stringtouint32(options->getOptionValue("fileError")));
+ ui->comboBoxFileCollision->setCurrentIndex(stringtouint32(options->getOptionValue("fileCollision")));
+ ui->transferAlgorithm->setCurrentIndex(stringtouint32(options->getOptionValue("transferAlgorithm")));
+ ui->checkBoxDestinationFolderExists->setChecked(stringtobool(options->getOptionValue("checkDestinationFolder")));
+ ui->parallelizeIfSmallerThan->setValue(stringtouint32(options->getOptionValue("parallelizeIfSmallerThan")));
+ ui->sequentialBuffer->setValue(stringtouint32(options->getOptionValue("sequentialBuffer")));
+ ui->parallelBuffer->setValue(stringtouint32(options->getOptionValue("parallelBuffer")));
+ ui->sequentialBuffer->setSingleStep(ui->blockSize->value());
+ ui->parallelBuffer->setSingleStep(ui->blockSize->value());
+ ui->deletePartiallyTransferredFiles->setChecked(stringtobool(options->getOptionValue("deletePartiallyTransferredFiles")));
+ ui->moveTheWholeFolder->setChecked(stringtobool(options->getOptionValue("moveTheWholeFolder")));
+ ui->followTheStrictOrder->setChecked(stringtobool(options->getOptionValue("followTheStrictOrder")));
+ ui->inodeThreads->setValue(stringtouint32(options->getOptionValue("inodeThreads")));
+ ui->renameTheOriginalDestination->setChecked(stringtobool(options->getOptionValue("renameTheOriginalDestination")));
+ ui->checkDiskSpace->setChecked(stringtobool(options->getOptionValue("checkDiskSpace")));
+ ui->defaultDestinationFolder->setText(QString::fromStdString(options->getOptionValue("defaultDestinationFolder")));
+
+ ui->doChecksum->setChecked(stringtobool(options->getOptionValue("doChecksum")));
+ ui->checksumIgnoreIfImpossible->setChecked(stringtobool(options->getOptionValue("checksumIgnoreIfImpossible")));
+ ui->checksumOnlyOnError->setChecked(stringtobool(options->getOptionValue("checksumOnlyOnError")));
+
+ ui->osBuffer->setChecked(stringtobool(options->getOptionValue("osBuffer")));
+ ui->osBufferLimited->setChecked(stringtobool(options->getOptionValue("osBufferLimited")));
+ ui->osBufferLimit->setValue(stringtouint32(options->getOptionValue("osBufferLimit")));
+ //ui->autoStart->setChecked(options->getOptionValue("autoStart").toBool());//moved from options(), wrong previous place
+ includeStrings=stringtostringlist(options->getOptionValue("includeStrings"));
+ includeOptions=stringtostringlist(options->getOptionValue("includeOptions"));
+ excludeStrings=stringtostringlist(options->getOptionValue("excludeStrings"));
+ excludeOptions=stringtostringlist(options->getOptionValue("excludeOptions"));
+ filters->setFilters(includeStrings,includeOptions,excludeStrings,excludeOptions);
+ firstRenamingRule=options->getOptionValue("firstRenamingRule");
+ otherRenamingRule=options->getOptionValue("otherRenamingRule");
+ renamingRules->setRenamingRules(firstRenamingRule,otherRenamingRule);
+
+ ui->checksumOnlyOnError->setEnabled(ui->doChecksum->isChecked());
+ ui->checksumIgnoreIfImpossible->setEnabled(ui->doChecksum->isChecked());
+ ui->copyListOrder->setChecked(stringtobool(options->getOptionValue("copyListOrder")));
+
+ optionsEngine=options;
}
QWidget * CopyEngineFactory::options()