summaryrefslogtreecommitdiffstats
path: root/configurationdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r--configurationdialog.cpp77
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){