diff options
author | Arno <am@disconnect.de> | 2011-12-17 06:40:40 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-12-17 06:40:40 +0100 |
commit | a80ccf5546c14de14906f5dfb4c7efc65ec54344 (patch) | |
tree | fb1ee5f46a4cc46a63c9a957e0ff549731e05bcd | |
parent | d3c5cf915f71ada6324277bc427796b9739c6cb8 (diff) | |
download | SheMov-a80ccf5546c14de14906f5dfb4c7efc65ec54344.tar.gz SheMov-a80ccf5546c14de14906f5dfb4c7efc65ec54344.tar.bz2 SheMov-a80ccf5546c14de14906f5dfb4c7efc65ec54344.zip |
Fix no Actors dialog
Show either part number or subtitle in no actors dialog. Also make
double clicking an item work.
-rw-r--r-- | archivetreeview.cpp | 2 | ||||
-rw-r--r-- | dbanalyzer.cpp | 35 |
2 files changed, 15 insertions, 22 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp index 52863f9..4bcf584 100644 --- a/archivetreeview.cpp +++ b/archivetreeview.cpp @@ -185,7 +185,7 @@ void ArchiveTreeView::selectMoviePart(int seriespartId, int seriesId){ QModelIndex viewSelect = mSeriesWidget->seriesProxy()->mapFromSource(partIdx); mSeriesWidget->seriesTree()->expand(viewSelect.parent()); mSeriesWidget->seriesTree()->selectionModel()->select(viewSelect, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); - mSeriesWidget->seriesTree()->scrollTo(viewSelect, QAbstractItemView::PositionAtCenter); + mSeriesWidget->seriesTree()->scrollTo(viewSelect.parent(), QAbstractItemView::PositionAtTop); } } diff --git a/dbanalyzer.cpp b/dbanalyzer.cpp index 87d3dd2..10def75 100644 --- a/dbanalyzer.cpp +++ b/dbanalyzer.cpp @@ -30,18 +30,19 @@ DbAnalyzerDialog::DbAnalyzerDialog(QWidget *parent, Qt::WindowFlags f) : QDialog // no actors QWidget *noActorsT = new QWidget; - QStringList noActorsHeaders = QStringList() << tr("Series") << tr("Series part") << tr("Series Id") << tr("Seriespart"); + QStringList noActorsHeaders = QStringList() << tr("Series") << tr("Part/Subtitle") << tr("Seriespart Id") << tr("Series Id") << tr("Seriespart"); mNoActorsV = new QTreeView; mNoActorsM = new SmTreeModel(noActorsHeaders, this); mNoActorsV->setModel(mNoActorsM); QVBoxLayout *noActorsL = new QVBoxLayout; noActorsL->addWidget(mNoActorsV); - mNoActorsV->setColumnHidden(1, true); mNoActorsV->setColumnHidden(2, true); mNoActorsV->setColumnHidden(3, true); + mNoActorsV->setColumnHidden(4, true); mNoActorsV->setEditTriggers(QTreeView::NoEditTriggers); mNoActorsV->setSelectionBehavior(QAbstractItemView::SelectRows); mNoActorsV->setSelectionMode(QAbstractItemView::SingleSelection); + mNoActorsV->setAlternatingRowColors(true); connect(mNoActorsV, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(noActorsDoubleClicked(QModelIndex))); noActorsT->setLayout(noActorsL); @@ -85,16 +86,12 @@ void DbAnalyzerDialog::analyzerFinished(){ } void DbAnalyzerDialog::noActorsDoubleClicked(const QModelIndex &idx){ - qDebug() << idx; if(!idx.isValid()){ return; } - QModelIndex seriesPartIdx = mNoActorsM->index(idx.row(), 3, idx.parent()); - QModelIndex seriesIdx = mNoActorsM->index(idx.row(), 2, idx.parent()); - qDebug() << seriesPartIdx << seriesIdx; - //if(spIdx.isValid()){ - emit partClicked(seriesPartIdx.data().toInt(), seriesIdx.data().toInt()); - //} + QModelIndex seriesPartIdx = mNoActorsM->index(idx.row(), 5, idx.parent()); + QModelIndex seriesIdx = mNoActorsM->index(idx.row(), 4, idx.parent()); + emit partClicked(seriesPartIdx.data().toInt(), seriesIdx.data().toInt()); } void DbAnalyzerDialog::populateNoActors(){ @@ -114,12 +111,13 @@ DbAnalyzer::DbAnalyzer(QObject *parent) : QThread(parent), mCanceled(false), mSt mDb.open(); mStatus = mDb.isOpen() ? Ok : Fail; mNoActorQuery = new QSqlQuery(mDb); - mNoActorQuery->prepare("SELECT series.tseries_name, seriesparts.iseriespart, series.iseries_id, seriesparts.iseriesparts_id FROM series, seriesparts LEFT JOIN seriesparts_actormap ON seriesparts.iseriesparts_id = seriesparts_actormap.iseriesparts_id WHERE iactors_id IS NULL AND seriesparts.iseries_id = series.iseries_id ORDER BY tseries_name"); + mNoActorQuery->prepare("SELECT series.tseries_name, seriesparts.iseriespart, seriesparts.tsubtitle, series.iseries_id, seriesparts.iseriesparts_id FROM series, seriesparts LEFT JOIN seriesparts_actormap ON seriesparts.iseriesparts_id = seriesparts_actormap.iseriesparts_id WHERE iactors_id IS NULL AND seriesparts.iseries_id = series.iseries_id ORDER BY tseries_name"); } DbAnalyzer::~DbAnalyzer(){ delete mNoActorQuery; mDb.close(); + QSqlDatabase::removeDatabase("analyzerDb"); } void DbAnalyzer::setCancel(bool canceled){ @@ -142,18 +140,13 @@ void DbAnalyzer::noActorsCheck(){ break; } QList<QVariant> res; - for(int i = 0; i < 4; ++i){ - if(i == 0){ - if(mNoActorQuery->value(1).toInt() > 1){ - QString title = QString("%1 %2").arg(mNoActorQuery->value(0).toString(), mNoActorQuery->value(1).toString()); - res << title; - continue; - }else{ - res << mNoActorQuery->value(0); - } - } - res << mNoActorQuery->value(i); + res << mNoActorQuery->value(0); + if(!mNoActorQuery->value(2).isNull()){ + res << mNoActorQuery->value(2); + }else{ + res << mNoActorQuery->value(1); } + res << mNoActorQuery->value(1) << mNoActorQuery->value(2) << mNoActorQuery->value(3) << mNoActorQuery->value(4); mNoActorR << res; } emit message(tr("Done!")); |