From f88cff0d71bb769dbe9ab16a8517042803c03fca Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 21 Sep 2013 06:13:43 +0200 Subject: Fix expanding of ArchiveTree Save and restore expanded items for Favorites and local files. Added context menu items for expandAll and collapseAll. --- archiveview.cpp | 6 ++++++ shemov.cpp | 10 ++++++++++ shemov.h | 2 ++ 3 files changed, 18 insertions(+) diff --git a/archiveview.cpp b/archiveview.cpp index c8b72a0..b551357 100644 --- a/archiveview.cpp +++ b/archiveview.cpp @@ -166,6 +166,10 @@ void ArchiveView::readSettings(){ mExpandedItems[ArchiveModel::Actor] = list; list = s.value("archivemodel/expandedseries").toList(); mExpandedItems[ArchiveModel::SeriesName] = list; + list = s.value("archivemodel/expandedlocalfiles").toList(); + mExpandedItems[ArchiveModel::Local] = list; + list = s.value("archivemodel/expandedfavorites").toList(); + mExpandedItems[ArchiveModel::FavoriteOrder] = list; mCurrentArchivePath = s.value("archivemodel/selectedseries").toStringList(); QByteArray splitterState = s.value("archivemodel/vsplitter").toByteArray(); mTreeSplitter->restoreState(splitterState); @@ -181,6 +185,8 @@ void ArchiveView::writeSettings() { s.setValue("archivemodel/expandedgenres", mExpandedItems.value(ArchiveModel::Genre)); s.setValue("archivemodel/expandedactors", mExpandedItems.value(ArchiveModel::Actor)); s.setValue("archivemodel/expandedseries", mExpandedItems.value(ArchiveModel::SeriesName)); + s.setValue("archivemodel/expandedlocalfiles", mExpandedItems.value(ArchiveModel::Local)); + s.setValue("archivemodel/expandedfavorites", mExpandedItems.value(ArchiveModel::FavoriteOrder)); s.setValue("archivemodel/selectedseries", mCurrentArchivePath); s.setValue("archivemodel/vsplitter", mTreeSplitter->saveState()); mFiles->writeHeaderConfig(); diff --git a/shemov.cpp b/shemov.cpp index 3e10a58..f5b8942 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -578,6 +578,13 @@ void SheMov::createActions(){ mArchiveViewAddCoversA = new QAction(QIcon(":/huge_bra.png"), tr("Add Covers..."), this); mArchiveViewAddCoversA->setData(ArchiveModel::SeriesPartNode); connect(mArchiveViewAddCoversA, SIGNAL(triggered()), c, SLOT(addCovers())); + //collapse and expand... + mArchiveViewExpandAllA = new QAction(tr("Expand all"), this); + mArchiveViewExpandAllA->setData(ArchiveModel::AllNodes); + connect(mArchiveViewExpandAllA, SIGNAL(triggered()), c->archiveTree(), SLOT(expandAll())); + mArchiveViewCollapseAllA = new QAction(tr("Collapse all"), this); + mArchiveViewCollapseAllA->setData(ArchiveModel::AllNodes); + connect(mArchiveViewCollapseAllA, SIGNAL(triggered()), c->archiveTree(), SLOT(collapseAll())); // refresh all mArchiveViewRefreshA = new QAction(tr("Refresh"), this); mArchiveViewRefreshA->setData(ArchiveModel::AllNodes); @@ -781,6 +788,9 @@ void SheMov::createMenus(){ c->addActionForTree(createSeparator()); c->addActionForTree(mArchiveViewMarkFavA); c->addActionForTree(createSeparator()); + c->addActionForTree(mArchiveViewExpandAllA); + c->addActionForTree(mArchiveViewCollapseAllA); + c->addActionForTree(createSeparator()); c->addActionForTree(mArchiveViewRefreshA); QMenu *archiveTreeM = new QMenu(tr("Archive"), this); archiveTreeM->addActions(c->archiveTree()->actions()); diff --git a/shemov.h b/shemov.h index 59dbab6..58ee3b2 100644 --- a/shemov.h +++ b/shemov.h @@ -140,6 +140,8 @@ class SheMov : public QMainWindow { QAction *mArchiveViewRefreshA; QAction *mArchiveViewMarkFavA; QAction *mArchiveViewAddCoversA; + QAction *mArchiveViewExpandAllA; + QAction *mArchiveViewCollapseAllA; QActionGroup *mArchiveFilesAG; //ArchiveFiles actions -- cgit v1.2.3-70-g09d2