summaryrefslogtreecommitdiffstats
path: root/archivetreeview.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2011-05-15 09:58:19 +0200
committerArno <am@disconnect.de>2011-05-15 09:58:19 +0200
commit9b2f7da813faea42587c0a78435a41aa338471fe (patch)
tree97b3107d499695502d397af3d5c4eced92d4adcf /archivetreeview.cpp
parent3a70006747322708b81b91f52b447abb33d91df0 (diff)
downloadSheMov-9b2f7da813faea42587c0a78435a41aa338471fe.tar.gz
SheMov-9b2f7da813faea42587c0a78435a41aa338471fe.tar.bz2
SheMov-9b2f7da813faea42587c0a78435a41aa338471fe.zip
Implement show all files
Implemented a new function showing all files belonging to the selected series. The function respectect the current filter of the SeriesTreeWidget.
Diffstat (limited to 'archivetreeview.cpp')
-rw-r--r--archivetreeview.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp
index 7587a6a..9bb5aae 100644
--- a/archivetreeview.cpp
+++ b/archivetreeview.cpp
@@ -103,13 +103,32 @@ ArchiveTreeView::ArchiveTreeView(QWidget *parent) : QWidget(parent){
}
void ArchiveTreeView::setFileViewMode(int mode){
- SeriesTreeModel *seriesModel = static_cast<SeriesTreeModel*>(SmGlobals::instance()->model("SeriesModel"));
- seriesModel->setRowFilter(mode);
+ mSeriesModel->setRowFilter(mode);
mSeriesWidget->seriesProxy()->invalidate();
constructWindowTitle();
mSeriesWidget->expandItems();
}
+void ArchiveTreeView::showAllFiles(){
+ int seriesRow = 0;
+ QModelIndex series = mSeriesModel->index(seriesRow, 0, QModelIndex());
+ QList<int> ids;
+ while(series.isValid()){
+ int childRow = 0;
+ QModelIndex child = mSeriesModel->index(childRow, 0, series);
+ while(child.isValid()){
+ if(mSeriesWidget->seriesProxy()->acceptedByFilter(child.row(), child.parent())){
+ ids << child.data(SeriesTreeModel::SeriesPartIdRole).toInt();
+ }
+ child = mSeriesModel->index(++childRow, 0, child.parent());
+ }
+ series = mSeriesModel->index(++seriesRow, 0, series.parent());
+ }
+ mFilesModel->setIds(ids);
+ mFilesWidget->filesTree()->expandAll();
+ mFilesWidget->filesTree()->resizeColumnToContents(0);
+}
+
void ArchiveTreeView::cleanDatabase(const QString &table){
MappingTableModel *model = 0;
if(table == "genres"){