summaryrefslogtreecommitdiffstats
path: root/seriestreewidget.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-06-13 14:52:16 +0200
committerArno <am@disconnect.de>2010-06-13 14:52:16 +0200
commitc7e25a4bb75417f1615b71940694f5f4479f9043 (patch)
tree9774bd30984a8abc0a7c2b66abc5146b5a788d54 /seriestreewidget.cpp
parentf0970f64fd92fb65a3e0bd2b07b733f9932d8b35 (diff)
downloadSheMov-c7e25a4bb75417f1615b71940694f5f4479f9043.tar.gz
SheMov-c7e25a4bb75417f1615b71940694f5f4479f9043.tar.bz2
SheMov-c7e25a4bb75417f1615b71940694f5f4479f9043.zip
Implemented SeriesTreeWidget
Implemented a widget for showing series in a tree. Also implemented filtering and sorting for this widget. Some bugfixes and enhancements: -Show dildo as DecorationRole in SeriesWidget -removed Quality from SeriesWidget
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r--seriestreewidget.cpp56
1 files changed, 56 insertions, 0 deletions
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
new file mode 100644
index 0000000..9395046
--- /dev/null
+++ b/seriestreewidget.cpp
@@ -0,0 +1,56 @@
+/*
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation; either version
+ 2 of the License, or (at your option) any later version.
+*/
+
+#include <QHBoxLayout>
+#include <QVBoxLayout>
+#include <QPushButton>
+#include <QLineEdit>
+#include <QLabel>
+#include <QSortFilterProxyModel>
+#include <QRegExp>
+
+#include "seriestreewidget.h"
+#include "smubermodel.h"
+#include "smtreemodel.h"
+#include "smubermodelsingleton.h"
+
+SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){
+ //filter bar
+ QLabel *l1 = new QLabel(tr("&Filter:"));
+ mFilterEdit = new QLineEdit;
+ l1->setBuddy(mFilterEdit);
+ mFilter = new QPushButton(tr("Filter"));
+ QHBoxLayout *filterLayout = new QHBoxLayout;
+ connect(mFilter, SIGNAL(clicked()), this, SLOT(filter()));
+ connect(mFilterEdit, SIGNAL(returnPressed()), this, SLOT(filter()));
+ filterLayout->addWidget(l1);
+ filterLayout->addWidget(mFilterEdit);
+ filterLayout->addWidget(mFilter);
+
+ //the view
+ mView = new SeriesTreeView;
+ mProxy = new QSortFilterProxyModel;
+ mProxy->setSourceModel(SmUberModelSingleton::instance()->seriesModel());
+ mView->setModel(mProxy);
+ mView->setSortingEnabled(true);
+ mView->setColumnHidden(1, true);
+ mView->setColumnHidden(2, true);
+ mView->resizeColumnToContents(0);
+
+ //layout
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addLayout(filterLayout);
+ mainLayout->addWidget(mView);
+ setLayout(mainLayout);
+
+}
+
+void SeriesTreeWidget::filter(){
+ mProxy->setFilterRegExp(mFilterEdit->text());
+}
+
+SeriesTreeView::SeriesTreeView(QWidget *parent) : QTreeView(parent) {}