diff options
author | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-11-06 16:52:04 +0000 |
---|---|---|
committer | am <am@f440f766-f032-0410-8965-dc7d17de2ca0> | 2009-11-06 16:52:04 +0000 |
commit | cb094b007ec5b7c197a7df502a778a2ce919128f (patch) | |
tree | 2add8b0593fddcdd84e902c466d8885f59d5147c /archivefilewidget.cpp | |
parent | c9497f0e16ad13493f59b835016d46d919378f6d (diff) | |
download | SheMov-cb094b007ec5b7c197a7df502a778a2ce919128f.tar.gz SheMov-cb094b007ec5b7c197a7df502a778a2ce919128f.tar.bz2 SheMov-cb094b007ec5b7c197a7df502a778a2ce919128f.zip |
-made burnDir configurable via ConfigurationDialog
-revamped archivedialog to make it more intuitive
-added simple listModel without database access (should be renamed)
-actorlist in archivedialog now is a QTreeView
-changed mFileList in achiveFileWidget
git-svn-id: file:///var/svn/repos2/shemov/trunk@421 f440f766-f032-0410-8965-dc7d17de2ca0
Diffstat (limited to 'archivefilewidget.cpp')
-rw-r--r-- | archivefilewidget.cpp | 99 |
1 files changed, 18 insertions, 81 deletions
diff --git a/archivefilewidget.cpp b/archivefilewidget.cpp index 4f4ba0c..f9ca5f8 100644 --- a/archivefilewidget.cpp +++ b/archivefilewidget.cpp @@ -15,6 +15,7 @@ #include <QColor> #include <QLocale> #include <QFileInfo> +#include <QScrollArea> #include <QDebug> @@ -22,6 +23,7 @@ #include "moviemodel.h" #include "listmodel.h" #include "helper.h" +#include "actorwidget.h" ArchiveFileWidget::ArchiveFileWidget(MovieModel *model, QWidget *parent, Qt::WindowFlags f) : QWidget(parent, f) , mModel(model){ QVBoxLayout *mainLayout = new QVBoxLayout; @@ -32,6 +34,8 @@ ArchiveFileWidget::ArchiveFileWidget(MovieModel *model, QWidget *parent, Qt::Win mFiles->setReadOnly(true); mFiles->setFont(QFont("Courier new")); mFiles->setTextColor(QColor(Qt::red)); + QScrollArea *sa = new QScrollArea; + sa->setWidget(mFiles); mainLayout->addWidget(l1); mainLayout->addWidget(mFiles); @@ -43,31 +47,9 @@ ArchiveFileWidget::ArchiveFileWidget(MovieModel *model, QWidget *parent, Qt::Win genreLayout->addWidget(mGenre); mainLayout->addLayout(genreLayout); - //actors combobox - QHBoxLayout *actorsLayout = new QHBoxLayout; - QLabel *l3 = new QLabel(tr("Select actors")); - mActors = new QComboBox; - actorsLayout->addWidget(l3); - actorsLayout->addWidget(mActors); - mainLayout->addLayout(actorsLayout); - - //selected actors - mSelectedActors = new QTextEdit; - mSelectedActors->setReadOnly(true); - mSelectedActors->setFont(QFont("Courier new")); - mSelectedActors->setTextColor(QColor(Qt::red)); - mainLayout->addWidget(mSelectedActors); - - //actors buttons - QHBoxLayout *actorButtonLayout = new QHBoxLayout; - mAddActor = new QPushButton(tr("&Add actor")); - connect(mAddActor, SIGNAL(clicked()), this, SLOT(addActor())); - mRemoveActor = new QPushButton(tr("&Remove actor")); - connect(mRemoveActor, SIGNAL(clicked()), this, SLOT(removeActor())); - actorButtonLayout->addStretch(); - actorButtonLayout->addWidget(mAddActor); - actorButtonLayout->addWidget(mRemoveActor); - mainLayout->addLayout(actorButtonLayout); + //actors + mActorWidget = new ActorWidget; + mainLayout->addWidget(mActorWidget); //quality and movie title QHBoxLayout *qualityTitleLayout = new QHBoxLayout; @@ -119,38 +101,37 @@ void ArchiveFileWidget::setGenreModel(ListModel *model){ void ArchiveFileWidget::setActorsModel(ListModel *model){ mActorsModel = model; - mActors->setModel(mActorsModel); } void ArchiveFileWidget::setFiles(const QStringList &files){ mFileList = files; mFiles->clear(); mMd5Sums.clear(); - mActorIdMap.clear(); - QString html("<html><body style=\"color:#CD0003\"><table border=\"2\" cellspacing=\"5\" cellspacing=\"5\"><tr><th>Filename</th><th>Size</th><th>MD5-Sum</th><th>Mime type</th></tr>"); QLocale l; + QString html("<html><body style=\"color:#cd0003\">"); foreach(QString f, files){ QFileInfo info(f); qint64 size = info.size(); QString md5 = Helper::md5Sum(f); QString filename = info.fileName(); QString mimeType = Helper::mimeType(f); - QString row = QString("<tr><td>%1</td><td>%2</td><td>%3</td><td>%4</td></tr>").arg(filename).arg(l.toString(size)).arg(md5).arg(mimeType); - html.append(row); + QString file = QString("<p>%1</p><ul><li>Size: %2</li><li>MD5-Sum: %3</li><li>Mime Type: %4</li></ul>").arg(filename).arg(l.toString(size)).arg(md5).arg(mimeType); + html.append(file); mMd5Sums.insert(f, md5); } - html.append("</table></body></html>"); + html.append("</body></html>"); mFiles->setHtml(html); - mSelectedActors->clear(); + mActorWidget->clear(); mTitle->clear(); } const QList<int> ArchiveFileWidget::actorIds() const{ - QHash<QString, int>::const_iterator i = mActorIdMap.constBegin(); QList<int> retval; - while(i != mActorIdMap.constEnd()){ - retval << i.value(); - ++i; + foreach(const QString s, mActorWidget->actors()){ + QModelIndex idx = mActorsModel->index(s); + if(idx.isValid()){ + retval << idx.data(ListModel::IdRole).toInt(); + } } return retval; } @@ -168,11 +149,7 @@ int ArchiveFileWidget::genreId() const{ } void ArchiveFileWidget::setActor(const QString &actor){ - int idx = mActors->findText(actor); - if(idx != -1){ - mActors->setCurrentIndex(idx); - addActor(); - } + mActorWidget->addActor(actor); } void ArchiveFileWidget::setQuality(int quality){ @@ -191,43 +168,3 @@ void ArchiveFileWidget::setPartNo(int partno){ mPartNo->setValue(partno); } -void ArchiveFileWidget::addActor(){ - QString selectedActor = mActors->currentText(); - if(!selectedActor.isEmpty() && !mActorIdMap.contains(selectedActor)){ - QModelIndex idx = mActorsModel->index(selectedActor); - if(idx.isValid()){ - int id = mActorsModel->data(idx, ListModel::IdRole).toInt(); - mActorIdMap.insert(selectedActor, id); - createActorList(); - QString message = QString(tr("Added actor %1 to actor list")).arg(selectedActor); - emit statusbarMessage(message); - }else{ - qDebug() << "addActor: invalid!"; - } - } -} - -void ArchiveFileWidget::removeActor(){ - QString selectedActor = mActors->currentText(); - if(!selectedActor.isEmpty()){ - mActorIdMap.remove(selectedActor); - createActorList(); - QString message = QString(tr("Removed actor %1 from actor list")).arg(selectedActor); - emit statusbarMessage(message); - } -} - -void ArchiveFileWidget::createActorList(){ - mSelectedActors->clear(); - QString html("<html><body style=\"color:#CD0003\"><ul>"); - mSelectedActors->append("<html><body><ul>"); - QHash<QString, int>::const_iterator i = mActorIdMap.constBegin(); - while(i != mActorIdMap.constEnd()){ - QString s = QString("<li>%1</li>").arg(i.key()); - html.append(s); - ++i; - } - html.append("</ul></body></html>"); - mSelectedActors->setHtml(html); -} - |