summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2013-09-21 06:13:43 +0200
committerArno <am@disconnect.de>2013-09-21 06:13:43 +0200
commitf88cff0d71bb769dbe9ab16a8517042803c03fca (patch)
tree2ee879f32fef4447b50fe5cdb6a6c36596c25310
parent028203679a6bbd45287e8ca35a104b026e886c69 (diff)
downloadSheMov-f88cff0d71bb769dbe9ab16a8517042803c03fca.tar.gz
SheMov-f88cff0d71bb769dbe9ab16a8517042803c03fca.tar.bz2
SheMov-f88cff0d71bb769dbe9ab16a8517042803c03fca.zip
Fix expanding of ArchiveTree
Save and restore expanded items for Favorites and local files. Added context menu items for expandAll and collapseAll.
-rw-r--r--archiveview.cpp6
-rw-r--r--shemov.cpp10
-rw-r--r--shemov.h2
3 files changed, 18 insertions, 0 deletions
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