diff options
Diffstat (limited to 'OptionDialog.cpp')
-rwxr-xr-x[-rw-r--r--] | OptionDialog.cpp | 68 |
1 files changed, 61 insertions, 7 deletions
diff --git a/OptionDialog.cpp b/OptionDialog.cpp index 4727501..64d5e13 100644..100755 --- a/OptionDialog.cpp +++ b/OptionDialog.cpp @@ -8,13 +8,20 @@ #include "OSSpecific.h" #include "LanguagesManager.h" #include "cpp11addition.h" +#include "FacilityEngine.h" #include <QDomElement> #include <QFileDialog> #include <QMessageBox> +#ifndef NOAUDIO +#include <QAudioOutput> +#endif OptionDialog::OptionDialog() : ui(new Ui::OptionDialog) + #ifndef NOAUDIO + ,buffer(&data) + #endif { quit=false; QStringList ultracopierArguments=QCoreApplication::arguments(); @@ -27,8 +34,8 @@ OptionDialog::OptionDialog() : oSSpecific=NULL; ui->setupUi(this); ui->treeWidget->topLevelItem(0)->setSelected(true); - ui->treeWidget->topLevelItem(4)->setTextColor(0,QColor(150, 150, 150, 255)); - ui->treeWidget->topLevelItem(5)->setTextColor(0,QColor(150, 150, 150, 255)); + ui->treeWidget->topLevelItem(4)->setForeground(0,QColor(150, 150, 150, 255)); + ui->treeWidget->topLevelItem(5)->setForeground(0,QColor(150, 150, 150, 255)); ui->treeWidget->expandAll(); ui->pluginList->expandAll(); number_of_listener=0; @@ -402,10 +409,12 @@ void OptionDialog::loadOption() newOptionValue("Ultracopier", "ActionOnManualOpen", OptionEngine::optionEngine->getOptionValue("Ultracopier","ActionOnManualOpen")); newOptionValue("Ultracopier", "GroupWindowWhen", OptionEngine::optionEngine->getOptionValue("Ultracopier","GroupWindowWhen")); newOptionValue("Ultracopier", "confirmToGroupWindows", OptionEngine::optionEngine->getOptionValue("Ultracopier","confirmToGroupWindows")); - newOptionValue("Ultracopier", "displayOSSpecific", OptionEngine::optionEngine->getOptionValue("Ultracopier","displayOSSpecific")); + newOptionValue("Ultracopier", "displayOSSpecific2", OptionEngine::optionEngine->getOptionValue("Ultracopier","displayOSSpecific2")); newOptionValue("Ultracopier", "checkTheUpdate", OptionEngine::optionEngine->getOptionValue("Ultracopier","checkTheUpdate")); newOptionValue("Ultracopier", "remainingTimeAlgorithm", OptionEngine::optionEngine->getOptionValue("Ultracopier","remainingTimeAlgorithm")); newOptionValue("Ultracopier", "portable", OptionEngine::optionEngine->getOptionValue("Ultracopier","portable")); + newOptionValue("Ultracopier", "soundFile", OptionEngine::optionEngine->getOptionValue("Ultracopier","soundFile")); + newOptionValue("Ultracopier", "soundWhenFinish", OptionEngine::optionEngine->getOptionValue("Ultracopier","soundWhenFinish")); newOptionValue("Language", "Language", OptionEngine::optionEngine->getOptionValue("Language","Language")); newOptionValue("Language", "Language_force", OptionEngine::optionEngine->getOptionValue("Language","Language_force")); #ifndef ULTRACOPIER_VERSION_PORTABLE @@ -447,7 +456,7 @@ void OptionDialog::loadOption() allPluginsIsLoaded=true; on_Ultracopier_current_theme_currentIndexChanged(ui->Ultracopier_current_theme->currentIndex()); - if(stringtobool(OptionEngine::optionEngine->getOptionValue("Ultracopier","displayOSSpecific"))) + if(stringtobool(OptionEngine::optionEngine->getOptionValue("Ultracopier","displayOSSpecific2"))) { if(!quit) { @@ -463,7 +472,11 @@ void OptionDialog::oSSpecificClosed() if(oSSpecific==NULL) return; if(oSSpecific->dontShowAgain()) - OptionEngine::optionEngine->setOptionValue("Ultracopier","displayOSSpecific","false"); + OptionEngine::optionEngine->setOptionValue("Ultracopier","displayOSSpecific2","false"); + if(oSSpecific->theme()=="classic") + OptionEngine::optionEngine->setOptionValue("Themes","Ultracopier_current_theme","Oxygen"); + else if(oSSpecific->theme()=="supercopier") + OptionEngine::optionEngine->setOptionValue("Themes","Ultracopier_current_theme","Supercopier"); delete oSSpecific; oSSpecific=NULL; } @@ -585,10 +598,14 @@ void OptionDialog::newOptionValue(const std::string &group,const std::string &na ui->GroupWindowWhen->setCurrentIndex(stringtoint32(value)); else if(name=="confirmToGroupWindows") ui->confirmToGroupWindows->setChecked(stringtobool(value)); - else if(name=="displayOSSpecific") + else if(name=="displayOSSpecific2") ui->DisplayOSWarning->setChecked(stringtobool(value)); else if(name=="checkTheUpdate") ui->checkTheUpdate->setChecked(stringtobool(value)); + else if(name=="soundFile") + ui->soundFile->setText(QString::fromStdString(value)); + else if(name=="soundWhenFinish") + ui->soundWhenFinish->setChecked(stringtobool(value)); else if(name=="remainingTimeAlgorithm") { bool ok; @@ -984,7 +1001,7 @@ void OptionDialog::on_DisplayOSWarning_clicked() if(allPluginsIsLoaded) { ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); - OptionEngine::optionEngine->setOptionValue("Ultracopier","displayOSSpecific",booltostring(ui->DisplayOSWarning->isChecked())); + OptionEngine::optionEngine->setOptionValue("Ultracopier","displayOSSpecific2",booltostring(ui->DisplayOSWarning->isChecked())); } } @@ -1036,3 +1053,40 @@ void OptionDialog::on_portable_toggled(bool) else QFile::remove(settingsFilePath+"/Ultracopier.conf"); } + +void OptionDialog::on_soundFile_editingFinished() +{ + if(allPluginsIsLoaded) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + OptionEngine::optionEngine->setOptionValue("Ultracopier","soundFile",ui->soundFile->text().toStdString()); + } +} + +void OptionDialog::on_soundWhenFinish_toggled(bool checked) +{ + if(allPluginsIsLoaded) + { + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"start"); + OptionEngine::optionEngine->setOptionValue("Ultracopier","soundWhenFinish",std::to_string(checked)); + } +} + +void OptionDialog::on_playSound_clicked() +{ + #ifndef NOAUDIO + const std::string newSoundFile=ui->soundFile->text().toStdString(); + buffer.seek(0); + data.clear(); + if(!buffer.isOpen()) + buffer.open(QIODevice::ReadWrite); + QAudioOutput *audio=static_cast<QAudioOutput *>(FacilityEngine::facilityEngine.prepareOpusAudio(newSoundFile,buffer)); + if(audio!=nullptr) + { + buffer.seek(0); + audio->start(&buffer); + } + else + ULTRACOPIER_DEBUGCONSOLE(Ultracopier::DebugLevel_Notice,"unable to open sound file: "+newSoundFile); + #endif +} |