summaryrefslogtreecommitdiffstats
path: root/archivefilewidget.cpp
diff options
context:
space:
mode:
authoram <am@f440f766-f032-0410-8965-dc7d17de2ca0>2009-11-06 16:52:04 +0000
committeram <am@f440f766-f032-0410-8965-dc7d17de2ca0>2009-11-06 16:52:04 +0000
commitcb094b007ec5b7c197a7df502a778a2ce919128f (patch)
tree2add8b0593fddcdd84e902c466d8885f59d5147c /archivefilewidget.cpp
parentc9497f0e16ad13493f59b835016d46d919378f6d (diff)
downloadSheMov-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.cpp99
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);
-}
-