diff options
author | Arno <am@disconnect.de> | 2013-06-01 11:17:42 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-06-01 11:17:42 +0200 |
commit | 376d2fbb78114e746618f14afe7728cf9793630b (patch) | |
tree | e5edda96364a1f0b57dd5a5e8565c75a1c1ba1e2 /archiveview.cpp | |
parent | d43981754db00a2091e95a55cd6583bf1fbc724d (diff) | |
download | SheMov-376d2fbb78114e746618f14afe7728cf9793630b.tar.gz SheMov-376d2fbb78114e746618f14afe7728cf9793630b.tar.bz2 SheMov-376d2fbb78114e746618f14afe7728cf9793630b.zip |
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.
Diffstat (limited to 'archiveview.cpp')
-rw-r--r-- | archiveview.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
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<ArchiveModel*>(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<ArchiveModel*>(SmGlobals::instance()->model("ArchiveModel")); - mProxy = new QSortFilterProxyModel; - mProxy->setSourceModel(mModel); - setModel(mProxy); } ArchiveFiles::ArchiveFiles(QWidget *parent) : SmTreeView(parent){ |