From 874476253f6ce13436f695401ff2f2a13a723753 Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 18 Jun 2010 18:19:59 +0200 Subject: expand/collape actions for SeriesTreeWidget Implemented expand and collapse actions for SeriesTreeWidget. --- seriestreewidget.cpp | 9 +++++++++ seriestreewidget.h | 1 + shemov.cpp | 19 ++++++++++++++++--- shemov.h | 3 +++ 4 files changed, 29 insertions(+), 3 deletions(-) diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp index 9b45dcd..e919c20 100644 --- a/seriestreewidget.cpp +++ b/seriestreewidget.cpp @@ -153,6 +153,15 @@ void SeriesTreeWidget::writeSettings(){ s.setValue("archive/sortorder", mProxy->sortOrder()); } +void SeriesTreeWidget::expandCurrent(){ + QModelIndexList selected = mView->selectionModel()->selectedRows(); + if(selected.isEmpty()){ + return; + } + QModelIndex idx = selected.at(0); + mView->expand(idx); +} + void SeriesTreeWidget::filter(){ mProxy->setFilterRegExp(mFilterEdit->text()); } diff --git a/seriestreewidget.h b/seriestreewidget.h index 58d217b..972d7d9 100644 --- a/seriestreewidget.h +++ b/seriestreewidget.h @@ -30,6 +30,7 @@ class SeriesTreeWidget : public QWidget { void deleteFromSeries(); void readSettings(); void writeSettings(); + void expandCurrent(); private slots: void filter(); diff --git a/shemov.cpp b/shemov.cpp index 802ffc9..223e6fa 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -360,12 +360,15 @@ void SheMov::createActions(){ //Tree context menu mNewSeriesA = new QAction(tr("New series..."), this); - mATree->seriesWidget()->seriesTree()->addAction(mNewSeriesA); connect(mNewSeriesA, SIGNAL(triggered()), mATree->seriesWidget(), SLOT(newSeries())); mDeleteFromSeriesA = new QAction(tr("Delete entries..."), this); - mATree->seriesWidget()->seriesTree()->addAction(mDeleteFromSeriesA); connect(mDeleteFromSeriesA, SIGNAL(triggered()), mATree->seriesWidget(), SLOT(deleteFromSeries())); - + mExpandAllSeriesA = new QAction(tr("Expand all"), this); + connect(mExpandAllSeriesA, SIGNAL(triggered()), mATree->seriesWidget()->seriesTree(), SLOT(expandAll())); + mCollapseAllSeriesA = new QAction(tr("Collapse all"), this); + connect(mCollapseAllSeriesA, SIGNAL(triggered()), mATree->seriesWidget()->seriesTree(), SLOT(collapseAll())); + mExpandCurrentA = new QAction(tr("Expand"), this); + connect(mExpandCurrentA, SIGNAL(triggered()), mATree->seriesWidget(), SLOT(expandCurrent())); // misc mOpenWithMapperFS = new QSignalMapper(this); @@ -480,6 +483,16 @@ void SheMov::createMenus(){ sep7->setSeparator(true); mAVWidget->fileView()->addAction(sep7); mAVWidget->fileView()->addAction(mPropertiesA); + + //ArchiveTreeView context menu + mATree->seriesWidget()->seriesTree()->addAction(mNewSeriesA); + mATree->seriesWidget()->seriesTree()->addAction(mDeleteFromSeriesA); + QAction *sep8 = new QAction(this); + sep8->setSeparator(true); + mATree->seriesWidget()->seriesTree()->addAction(sep8); + mATree->seriesWidget()->seriesTree()->addAction(mExpandCurrentA); + mATree->seriesWidget()->seriesTree()->addAction(mExpandAllSeriesA); + mATree->seriesWidget()->seriesTree()->addAction(mCollapseAllSeriesA); } void SheMov::createOpenWithMenuFS(){ diff --git a/shemov.h b/shemov.h index 83db7b9..c397378 100644 --- a/shemov.h +++ b/shemov.h @@ -99,6 +99,9 @@ class SheMov : public QMainWindow { //TreeView Actions QAction *mNewSeriesA; QAction *mDeleteFromSeriesA; + QAction *mExpandAllSeriesA; + QAction *mCollapseAllSeriesA; + QAction *mExpandCurrentA; QActionGroup *mOpenWithGroupFS; QActionGroup *mOpenWithGroupAV; -- cgit v1.2.3-70-g09d2