summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivetreeview.cpp23
-rw-r--r--archivetreeview.h1
-rw-r--r--seriestreewidget.h1
-rw-r--r--shemov.cpp7
-rw-r--r--shemov.h1
5 files changed, 31 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"){
diff --git a/archivetreeview.h b/archivetreeview.h
index 342e3c4..0de5782 100644
--- a/archivetreeview.h
+++ b/archivetreeview.h
@@ -47,6 +47,7 @@ class ArchiveTreeView : public QWidget
public slots:
void setFileViewMode(int mode);
+ void showAllFiles();
void cleanDatabase(const QString &table);
void showNoCoverDialog();
void selectMovie(const QModelIndex &idx);
diff --git a/seriestreewidget.h b/seriestreewidget.h
index 9c2438e..9e2e0dc 100644
--- a/seriestreewidget.h
+++ b/seriestreewidget.h
@@ -115,6 +115,7 @@ class SeriesTreeSortModel : public QSortFilterProxyModel {
public:
SeriesTreeSortModel(QObject *parent = 0);
~SeriesTreeSortModel() {}
+ bool acceptedByFilter(int source_row, const QModelIndex &parent) const { return filterAcceptsRow(source_row, parent); }
protected:
virtual bool lessThan(const QModelIndex &left, const QModelIndex &right) const;
diff --git a/shemov.cpp b/shemov.cpp
index eebaf8d..1b871db 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -468,6 +468,8 @@ void SheMov::createActions(){
mShowNormalA->setChecked(true);
mShowNoCoverDialogA = new QAction(QIcon(":/higheels.png"), tr("List movies without cover..."), this);
connect(mShowNoCoverDialogA, SIGNAL(triggered()), mATree, SLOT(showNoCoverDialog()));
+ mShowAllFilesA = new QAction(tr("Show All files"), this);
+ connect(mShowAllFilesA, SIGNAL(triggered()), mATree, SLOT(showAllFiles()));
//Tree view headers
QHash<QString, int> headerData = filesModel->headerData();
@@ -667,6 +669,7 @@ void SheMov::createMenus(){
mTreeViewMenu->addAction(mShowNormalA);
mTreeViewMenu->addAction(mShowLocalA);
mTreeViewMenu->addAction(mShowArchivedA);
+ mTreeViewMenu->addAction(mShowAllFilesA);
QAction *sep14 = new QAction(this);
sep14->setSeparator(true);
mTreeViewMenu->addAction(sep14);
@@ -779,6 +782,10 @@ void SheMov::createMenus(){
sep7->setSeparator(true);
mATree->filesWidget()->filesTree()->addAction(sep7);
mATree->filesWidget()->filesTree()->addActions(mEditGroup->actions());
+ QAction *sep21 = new QAction(this);
+ sep21->setSeparator(true);
+ mATree->filesWidget()->filesTree()->addAction(sep20);
+ mATree->filesWidget()->filesTree()->addAction(mShowAllFilesA);
QAction *sep8 = new QAction(this);
sep8->setSeparator(true);
mATree->filesWidget()->filesTree()->addAction(sep8);
diff --git a/shemov.h b/shemov.h
index ab95425..bf4cc93 100644
--- a/shemov.h
+++ b/shemov.h
@@ -120,6 +120,7 @@ class SheMov : public QMainWindow {
QAction *mShowLocalA;
QAction *mShowArchivedA;
QAction *mShowNormalA;
+ QAction *mShowAllFilesA;
QAction *mShowNoCoverDialogA;
QActionGroup *mShowTreeGroup;
QAction *mHoverPicsA;