summaryrefslogtreecommitdiffstats
path: root/archiveview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-07-12 11:44:04 +0200
committerArno <am@disconnect.de>2013-07-12 11:44:04 +0200
commit11032ae73ea103d97d9fefb1375b957fa505eeaa (patch)
treee890ca63bbe7f79f5f659e6e14e7fa534e29c51e /archiveview.cpp
parentcbba8c474d5e90c4af05783e012415102f162c0e (diff)
downloadSheMov-11032ae73ea103d97d9fefb1375b957fa505eeaa.tar.gz
SheMov-11032ae73ea103d97d9fefb1375b957fa505eeaa.tar.bz2
SheMov-11032ae73ea103d97d9fefb1375b957fa505eeaa.zip
Split MetadataEditor
Again, split the editor into a widget and a dialog, so we can use the widget in NewMovieWizard.
Diffstat (limited to 'archiveview.cpp')
-rw-r--r--archiveview.cpp64
1 files changed, 38 insertions, 26 deletions
diff --git a/archiveview.cpp b/archiveview.cpp
index 2521113..f0b3cf6 100644
--- a/archiveview.cpp
+++ b/archiveview.cpp
@@ -326,22 +326,21 @@ void ArchiveTree::editMetadata(){
MetadataEditor e(this);
ArchiveController *c = SmGlobals::instance()->archiveController();
QStringList sources = c->archiveTreeModel()->allSources();
- e.setSources(sources);
+ e.widget()->setSources(sources);
QStringList relGroups = c->archiveTreeModel()->allReleaseGroups();
- e.setReleaseGroups(relGroups);
+ e.widget()->setReleaseGroups(relGroups);
QModelIndex idx = currentIndex();
int pId = idx.data(ArchiveModel::SeriesPartIdRole).toInt();
QList<QVariant> curMetadata = c->archiveTreeModel()->metadataList(pId);
- e.setMetadata(curMetadata);
+ e.widget()->setMetadata(curMetadata);
int res = e.exec();
if(res == QDialog::Accepted){
- QList<QVariant> data = e.metadata();
+ QList<QVariant> data = e.widget()->metadata();
mModel->setMetadata(pId, data);
c->treeSelectionChanged(QItemSelection(), QItemSelection());
}
}
-
void ArchiveTree::impossible(const QString msg){
QMessageBox::critical(this, tr("Error"), msg);
}
@@ -512,14 +511,9 @@ MappingEditor::MappingEditor(const QString &caption, QWidget *parent, Qt::Window
setMinimumWidth(300);
}
+/* Metadata Editor Widget */
-
-
-
-
-/* Metadata Editor */
-
-MetadataEditor::MetadataEditor(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
+MetadataEditorWidget::MetadataEditorWidget(QWidget *parent) : QWidget(parent) {
QLabel *captionL = new QLabel(tr("<b>Edit Metadata</b>"));
QFormLayout *dataLayout = new QFormLayout;
@@ -548,33 +542,24 @@ MetadataEditor::MetadataEditor(QWidget *parent, Qt::WindowFlags f) : QDialog(par
mComment = new QTextEdit;
commentLayout->addWidget(mComment);
- QHBoxLayout *buttonLayout = new QHBoxLayout;
- buttonLayout->addStretch();
- mCancel = new QPushButton(tr("Cancel"));
- connect(mCancel, SIGNAL(clicked()), this, SLOT(reject()));
- buttonLayout->addWidget(mCancel);
- mAccept = new QPushButton(tr("Accept"));
- connect(mAccept, SIGNAL(clicked()), this, SLOT(accept()));
- buttonLayout->addWidget(mAccept);
+ mWidgets << mReleaseYear << mSource << mRelGroup << mSubject << mEncoderOpts << mPasses << mComment;
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(captionL);
mainLayout->addLayout(dataLayout);
mainLayout->addLayout(commentLayout);
- mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
- setMinimumWidth(400);
}
-void MetadataEditor::setSources(const QStringList &sources){
+void MetadataEditorWidget::setSources(const QStringList &sources){
mSource->addItems(sources);
}
-void MetadataEditor::setReleaseGroups(const QStringList &relGroups){
+void MetadataEditorWidget::setReleaseGroups(const QStringList &relGroups){
mRelGroup->addItems(relGroups);
}
-void MetadataEditor::setMetadata(const QList<QVariant> &data){
+void MetadataEditorWidget::setMetadata(const QList<QVariant> &data){
mReleaseYear->setValue(data.at(ArchiveModel::ReleaseYear).toInt());
mSource->setCurrentText(data.at(ArchiveModel::Source).toString());
mSubject->setText(data.at(ArchiveModel::Subject).toString());
@@ -585,7 +570,7 @@ void MetadataEditor::setMetadata(const QList<QVariant> &data){
mAdded = data.at(ArchiveModel::Added).toDate();
}
-QList<QVariant> MetadataEditor::metadata() const{
+QList<QVariant> MetadataEditorWidget::metadata() const{
QList<QVariant> retval;
for(int i = 0; i < ArchiveModel::MetadataNumFields; ++i){
retval << QVariant();
@@ -601,6 +586,33 @@ QList<QVariant> MetadataEditor::metadata() const{
return retval;
}
+void MetadataEditorWidget::setEnabledAll(bool enabled){
+ foreach(QWidget *w, mWidgets){
+ w->setEnabled(enabled);
+ }
+}
+
+/* Metadata Editor */
+
+MetadataEditor::MetadataEditor(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f){
+ mWidget = new MetadataEditorWidget;
+
+ QHBoxLayout *buttonLayout = new QHBoxLayout;
+ buttonLayout->addStretch();
+ mCancel = new QPushButton(tr("Cancel"));
+ connect(mCancel, SIGNAL(clicked()), this, SLOT(reject()));
+ buttonLayout->addWidget(mCancel);
+ mAccept = new QPushButton(tr("Accept"));
+ connect(mAccept, SIGNAL(clicked()), this, SLOT(accept()));
+ buttonLayout->addWidget(mAccept);
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(mWidget);
+ mainLayout->addLayout(buttonLayout);
+ setLayout(mainLayout);
+ setMinimumWidth(400);
+}
+
/* Delegate for File no. */
QString FileNoDelegate::displayText(const QVariant &value, const QLocale &locale) const{