From 06233888b033adc6e821331e6d1822e9807371ae Mon Sep 17 00:00:00 2001 From: am Date: Fri, 14 Aug 2009 18:53:25 +0000 Subject: -Implemented conlumnContains() in MovieModel -Implemented guess-function in ArchiveEditDialog -Cumulative size is now shown in statusBar() when selecting items in ArchiveViewWidget -Fixed EditArchiveItemDialog allowing duplicate titles (neccessary after creating iseriesno and ipartno) -Fixed windowTitle() when changing tabs git-svn-id: file:///var/svn/repos2/shemov/trunk@401 f440f766-f032-0410-8965-dc7d17de2ca0 --- archiveviewwidget.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'archiveviewwidget.cpp') diff --git a/archiveviewwidget.cpp b/archiveviewwidget.cpp index 0e6686e..e6ffb4b 100644 --- a/archiveviewwidget.cpp +++ b/archiveviewwidget.cpp @@ -32,7 +32,7 @@ #include "helper.h" #include "moviepropertiesdialog.h" -ArchiveViewWidget::ArchiveViewWidget(MovieModel *model, ListModel *genre, ListModel *actors, QWidget *parent) : QWidget(parent), mMovieModel(model), mGenreModel(genre), mActorsModel(actors){ +ArchiveViewWidget::ArchiveViewWidget(MovieModel *model, ListModel *genre, ListModel *actors, QWidget *parent) : QWidget(parent), mMovieModel(model), mGenreModel(genre), mActorsModel(actors), mSize(0){ //filter bar QHBoxLayout *filterLayout = new QHBoxLayout; QLabel *l1 = new QLabel(tr("Filter by &genre")); @@ -85,7 +85,9 @@ ArchiveViewWidget::ArchiveViewWidget(MovieModel *model, ListModel *genre, ListMo connect(mFileView->selectionModel(), SIGNAL(currentChanged(const QModelIndex &, const QModelIndex)), this, SLOT(rowChanged(const QModelIndex &, const QModelIndex &))); connect(mFileView, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(showMovie(const QModelIndex &))); + connect(mFileView->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(calcSize())); + mWindowTitle = QString("%1 - nothing selected").arg(qApp->applicationName()); setLayout(mainLayout); } @@ -110,12 +112,6 @@ void ArchiveViewWidget::addMovie(){ dlg.exec(); if(dlg.result() == QDialog::Accepted){ QString title = dlg.text().toLower().trimmed(); - QModelIndex idx = mMovieModel->index(title); - if(idx != QModelIndex()){ - QString msg = QString(tr("Already have an entry with title %1")).arg(title); - QMessageBox::critical(this, tr("Error"), msg); - return; - } QList movieData; movieData << title; for(int i = 1; i < MovieItem::NumRows; ++i){ @@ -175,8 +171,16 @@ void ArchiveViewWidget::setActorFilter(const QString &filter){ void ArchiveViewWidget::rowChanged(const QModelIndex &/*current*/, const QModelIndex & /*prev*/){ QModelIndex idx = getSourceColumnZero(); - QString title = QString(tr("%1 - %2")).arg(qApp->applicationName()).arg(idx.data().toString()); - emit windowTitle(title); + mWindowTitle = QString(tr("%1 - %2")).arg(qApp->applicationName()).arg(idx.data().toString()); + emit windowTitle(mWindowTitle); +} + +void ArchiveViewWidget::calcSize(){ + QModelIndexList sel = mFileView->selectionModel()->selectedRows(MovieItem::Size); + mSize = 0; + foreach(QModelIndex idx, sel){ + mSize += idx.data().toLongLong(); + } } const QModelIndex ArchiveViewWidget::getSourceColumnZero(){ -- cgit v1.2.3-70-g09d2