summaryrefslogtreecommitdiffstats
path: root/seriestreewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'seriestreewidget.cpp')
-rw-r--r--seriestreewidget.cpp28
1 files changed, 25 insertions, 3 deletions
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
index d440140..5fb7d2c 100644
--- a/seriestreewidget.cpp
+++ b/seriestreewidget.cpp
@@ -12,6 +12,9 @@
#include <QLabel>
#include <QSortFilterProxyModel>
#include <QRegExp>
+#include <QContextMenuEvent>
+#include <QMenu>
+#include <QAction>
#include "seriestreewidget.h"
#include "smubermodel.h"
@@ -35,15 +38,15 @@ SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){
//the view
mView = new SeriesTreeView;
mProxy = new QSortFilterProxyModel;
- SeriesTreeModel *sourceModel = SmUberModelSingleton::instance()->seriesModel();
- mProxy->setSourceModel(sourceModel);
+ mModel = SmUberModelSingleton::instance()->seriesModel();
+ mProxy->setSourceModel(mModel);
mView->setModel(mProxy);
mView->setSortingEnabled(true);
for(int i = 1; i < 5 ;++i){
mView->setColumnHidden(i, true);
}
mView->resizeColumnToContents(0);
- connect(sourceModel, SIGNAL(needResort()), this, SLOT(resort()));
+ connect(mModel, SIGNAL(needResort()), this, SLOT(resort()));
//layout
QVBoxLayout *mainLayout = new QVBoxLayout;
@@ -53,6 +56,17 @@ SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){
}
+void SeriesTreeWidget::newSeries(){
+ QList<QVariant> data;
+ data << tr("<New series>") << -1 << -1 << 0 << SeriesTreeModel::NewSeries;
+ if(mModel->addRow(data, QModelIndex())){
+ QModelIndex newRow = mModel->index(mModel->rowCount(QModelIndex()) - 1, 0, QModelIndex());
+ if(newRow.isValid()){
+ mView->edit(newRow);
+ }
+ }
+}
+
void SeriesTreeWidget::filter(){
mProxy->setFilterRegExp(mFilterEdit->text());
}
@@ -62,3 +76,11 @@ void SeriesTreeWidget::resort(){
}
SeriesTreeView::SeriesTreeView(QWidget *parent) : QTreeView(parent) {}
+
+void SeriesTreeView::contextMenuEvent(QContextMenuEvent *e){
+ QMenu contextMenu(this);
+ foreach(QAction *a, actions()){
+ contextMenu.addAction(a);
+ }
+ contextMenu.exec(e->globalPos());
+}