From 376d2fbb78114e746618f14afe7728cf9793630b Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 1 Jun 2013 11:17:42 +0200 Subject: Do something when SortOrder is changed in ArchiveView Actually do something when the sort order is changed. That resulted in various fixes to both model and view, since both had completely untested codepaths. Most notable fix: Only select those seriesparts which are actually mapped to the selected genre or actor. --- archiveview.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'archiveview.cpp') diff --git a/archiveview.cpp b/archiveview.cpp index fd1a4ff..dc4b135 100644 --- a/archiveview.cpp +++ b/archiveview.cpp @@ -19,8 +19,11 @@ ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) { mArchiveModel = static_cast(SmGlobals::instance()->model("ArchiveModel")); + QSortFilterProxyModel *proxy = new QSortFilterProxyModel; + proxy->setSourceModel(mArchiveModel); mTree = new ArchiveTree; - mTree->setColumnHidden(ArchiveModel::SeriesId, true); + mTree->setModel(proxy); + mTree->setColumnHidden(ArchiveModel::GenericId, true); mTree->setColumnHidden(ArchiveModel::SeriesPartId, true); mTree->setColumnHidden(ArchiveModel::SeriesPart, true); mTree->setColumnHidden(ArchiveModel::Type, true); @@ -30,6 +33,7 @@ ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) { mTree->resizeColumnToContents(ArchiveModel::Name); mSortOrder = new QComboBox; mSortOrder->addItems(mArchiveModel->availableOrders()); + connect(mSortOrder, SIGNAL(currentIndexChanged(QString)), mArchiveModel, SLOT(setOrder(QString))); QLabel *l1 = new QLabel(tr("Filter")); mFilter = new QLineEdit; QPushButton *filter = new QPushButton(tr("Filter")); @@ -54,14 +58,9 @@ ArchiveView::ArchiveView(QWidget *parent) : QWidget(parent) { QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addWidget(treeSplitter); setLayout(mainLayout); - } ArchiveTree::ArchiveTree(QWidget *parent) : SmTreeView(parent) { - mModel = static_cast(SmGlobals::instance()->model("ArchiveModel")); - mProxy = new QSortFilterProxyModel; - mProxy->setSourceModel(mModel); - setModel(mProxy); } ArchiveFiles::ArchiveFiles(QWidget *parent) : SmTreeView(parent){ -- cgit v1.2.3-70-g09d2