summaryrefslogtreecommitdiff
path: root/OptionDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'OptionDialog.cpp')
-rwxr-xr-x[-rw-r--r--]OptionDialog.cpp68
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
+}