diff options
author | Arno <arno@disconnect.de> | 2016-10-01 06:08:32 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2016-10-01 06:08:32 +0200 |
commit | b56947a5ec754019feb7ff37868f8c8eb6c39146 (patch) | |
tree | 45635e6dce4b88ac0975ad87ab08d305943bc140 /configurationdialog.cpp | |
parent | b4e40837f016849910851aa3cf688e2c4382e7cd (diff) | |
download | SheMov-b56947a5ec754019feb7ff37868f8c8eb6c39146.tar.gz SheMov-b56947a5ec754019feb7ff37868f8c8eb6c39146.tar.bz2 SheMov-b56947a5ec754019feb7ff37868f8c8eb6c39146.zip |
Configure reencode reasons
Next: make it available in new movies dialog.
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r-- | configurationdialog.cpp | 77 |
1 files changed, 76 insertions, 1 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp index 38370be..0654ea7 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -37,6 +37,7 @@ #include <QStandardItemModel> #include <QStandardItem> #include <QDesktopWidget> +#include <QInputDialog> #include "configurationdialog.h" #include "programconfigurator.h" @@ -165,7 +166,7 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S clearWizardLayout->addWidget(mClearNewMovieWizard); clearWizardBox->setLayout(clearWizardLayout); - //misc - assemble + //misc - assemble miscLayout->addWidget(hoverBox); miscLayout->addWidget(archiveBox); miscLayout->addWidget(autoRefreshBox); @@ -243,6 +244,32 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : S QWidget *movieWidget = new QWidget; QVBoxLayout *movieWidgetLayout = new QVBoxLayout; movieWidgetLayout->addWidget(movieBox); + QGroupBox *reasonBox = new QGroupBox(tr("Reencode reasons")); + QLabel *rbl1 = new QLabel(tr("Reasons")); + mReasonsBox = new QComboBox; + QStringList reasons = SmGlobals::instance()->reencReasons(); + mReasonsBox->addItems(reasons); + QPushButton *editRBtn = new QPushButton(tr("Edit...")); + connect(editRBtn, SIGNAL(clicked()), this, SLOT(editReason())); + QPushButton *newRBtn = new QPushButton(tr("Add...")); + connect(newRBtn, SIGNAL(clicked()), this, SLOT(addReason())); + QPushButton *delRBtn = new QPushButton(tr("Delete...")); + connect(delRBtn, SIGNAL(clicked()), this, SLOT(delReason())); + QVBoxLayout *reasonL = new QVBoxLayout; + QHBoxLayout *reasonCBL = new QHBoxLayout; + reasonCBL->addWidget(rbl1); + reasonCBL->addWidget(mReasonsBox); + reasonCBL->setStretch(1, 3); + QHBoxLayout *reasonBL = new QHBoxLayout; + reasonBL->addStretch(); + reasonBL->addWidget(newRBtn); + reasonBL->addWidget(editRBtn); + reasonBL->addWidget(delRBtn); + reasonL->addLayout(reasonCBL); + reasonL->addLayout(reasonBL); + reasonBox->setLayout(reasonL); + movieWidgetLayout->addWidget(reasonBox); + movieWidgetLayout->addStretch(); movieWidget->setLayout(movieWidgetLayout); mTab->addTab(movieWidget, tr("Movies")); @@ -654,6 +681,54 @@ void ConfigurationDialog::randomGradientChanged(int state){ mPVBgColor->setEnabled(state == Qt::Unchecked); } +void ConfigurationDialog::editReason(){ + QString curReason = mReasonsBox->currentText(); + if(curReason.isEmpty()){ + return; + } + QString newReason = QInputDialog::getText(this, tr("Edit reason..."), tr("Reason"), QLineEdit::Normal, curReason); + if(!newReason.isEmpty()){ + QStringList r = SmGlobals::instance()->reencReasons(); + r.removeAll(curReason); + r.append(newReason); + SmGlobals::instance()->setReencReasons(r); + r = SmGlobals::instance()->reencReasons(); + mReasonsBox->clear(); + mReasonsBox->addItems(r); + mReasonsBox->setCurrentText(newReason); + } +} + +void ConfigurationDialog::addReason(){ + QString newReason = QInputDialog::getText(this, tr("Add reason..."), tr("Reason")); + if(!newReason.isEmpty()){ + QStringList r = SmGlobals::instance()->reencReasons(); + if(r.contains(newReason)){ + mReasonsBox->setCurrentText(newReason); + return; + } + r.append(newReason); + SmGlobals::instance()->setReencReasons(r); + mReasonsBox->clear(); + r = SmGlobals::instance()->reencReasons(); + mReasonsBox->addItems(r); + mReasonsBox->setCurrentText(newReason); + } +} + +void ConfigurationDialog::delReason(){ + QString curReason = mReasonsBox->currentText(); + QStringList r = SmGlobals::instance()->reencReasons(); + r.removeAll(curReason); + SmGlobals::instance()->setReencReasons(r); + r = SmGlobals::instance()->reencReasons(); + mReasonsBox->clear(); + mReasonsBox->addItems(r); + if(!r.isEmpty()){ + mReasonsBox->setCurrentIndex(0); + } +} + void ConfigurationDialog::setColor(QWidget *label){ QLabel *curLabel = qobject_cast<QLabel*>(label); if(!curLabel){ |