From afd74157ef705fa2b0323727b3a37e2806bb0730 Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 16 Jan 2011 15:04:41 +0100 Subject: Implement favorites SeriesParts can be marked as favorites. They won't be selectable when filtering by local Movies only. --- seriestreewidget.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'seriestreewidget.cpp') diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp index 24e9eb4..518cac1 100644 --- a/seriestreewidget.cpp +++ b/seriestreewidget.cpp @@ -64,7 +64,7 @@ SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){ mProxy->setSourceModel(mModel); mView->setModel(mProxy); mView->setSortingEnabled(true); - for(int i = 1; i < 5 ;++i){ + for(int i = 1; i < 6 ;++i){ mView->setColumnHidden(i, true); } mView->resizeColumnToContents(0); @@ -137,6 +137,23 @@ void SeriesTreeWidget::seriesAdded(QString seriesName, int seriesPart, bool reso } } +void SeriesTreeWidget::toggleFavorite(){ + QModelIndexList selected = mView->selectionModel()->selectedRows(); + if(selected.isEmpty()){ + return; + } + foreach(QModelIndex idx, selected){ + if(idx.data(SeriesTreeModel::TypeRole).toInt() == SeriesTreeModel::Part){ + bool curFav = idx.data(SeriesTreeModel::FavoriteRole).toBool(); + QModelIndex source = mProxy->mapToSource(idx); + if(source.isValid()){ + source = mModel->index(source.row(), SeriesTreeModel::Favorite, source.parent()); + } + mModel->setData(source, !curFav, Qt::EditRole); + } + } +} + void SeriesTreeWidget::deleteFromSeries(){ QModelIndexList selected = mView->selectionModel()->selectedRows(); if(selected.isEmpty()){ @@ -217,6 +234,7 @@ void SeriesTreeWidget::readSettings(){ mView->setCurrentIndex(real); } mFilterEdit->setText(s.value("archive/filtertext").toString()); + mModel->readSettings(); } void SeriesTreeWidget::writeSettings(){ -- cgit v1.2.3-70-g09d2