From e8edacfc5175e91d27d6fcba8e3ffa1b1c80754c Mon Sep 17 00:00:00 2001 From: Arno Date: Fri, 12 Jul 2013 17:23:33 +0200 Subject: Dis/enable QActions for ContextMenu Handle actions dependent on type node. --- shemov.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'shemov.cpp') diff --git a/shemov.cpp b/shemov.cpp index ab8290a..5d94021 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -749,21 +749,27 @@ void SheMov::createActions(){ ArchiveController *c = SmGlobals::instance()->archiveController(); // rename mArchiveViewRenameA = new QAction(tr("Rename..."), this); + mArchiveViewRenameA->setData(ArchiveModel::AllNodes & ArchiveModel::SeriesNode); connect(mArchiveViewRenameA, SIGNAL(triggered()), c->archiveTree(), SLOT(rename())); // remove mArchiveViewRemoveA = new QAction(tr("Remove..."), this); + //mArchiveViewRemoveA->setData(ArchiveModel::RemoveNode); connect(mArchiveViewRemoveA, SIGNAL(triggered()), c->archiveTree(), SLOT(remove())); // edit actors mArchiveViewActorsA = new QAction(tr("Edit actors..."), this); + mArchiveViewActorsA->setData(ArchiveModel::SeriesPartNode); connect(mArchiveViewActorsA, SIGNAL(triggered()), c->archiveTree(), SLOT(editActors())); // edit genres mArchiveViewGenresA = new QAction(tr("Edit genres..."), this); + mArchiveViewGenresA->setData(ArchiveModel::SeriesPartNode); connect(mArchiveViewGenresA, SIGNAL(triggered()), c->archiveTree(), SLOT(editGenres())); // edit part no and subtitle mArchiveViewPartnoA = new QAction(tr("Edit Part No..."), this); + mArchiveViewPartnoA->setData(ArchiveModel::SeriesPartNode); connect(mArchiveViewPartnoA, SIGNAL(triggered()), c->archiveTree(), SLOT(editSeriesPart())); // edit metadata mArchiveViewMetadataA = new QAction(tr("Edit metadata..."), this); + mArchiveViewMetadataA->setData(ArchiveModel::SeriesPartNode); connect(mArchiveViewMetadataA, SIGNAL(triggered()), c->archiveTree(), SLOT(editMetadata())); // ArchiveFiles actions @@ -1005,13 +1011,13 @@ void SheMov::createMenus(){ // Archive tree (exp.) ArchiveController *c = SmGlobals::instance()->archiveController(); - c->archiveTree()->addAction(mArchiveViewRenameA); - c->archiveTree()->addAction(mArchiveViewRemoveA); - c->archiveTree()->addAction(createSeparator()); - c->archiveTree()->addAction(mArchiveViewActorsA); - c->archiveTree()->addAction(mArchiveViewGenresA); - c->archiveTree()->addAction(mArchiveViewPartnoA); - c->archiveTree()->addAction(mArchiveViewMetadataA); + c->addActionForTree(mArchiveViewRenameA); + c->addActionForTree(mArchiveViewRemoveA); + c->addActionForTree(createSeparator()); + c->addActionForTree(mArchiveViewActorsA); + c->addActionForTree(mArchiveViewGenresA); + c->addActionForTree(mArchiveViewPartnoA); + c->addActionForTree(mArchiveViewMetadataA); // Archive files (exp.) c->archiveFiles()->addAction(mArchiveFilesPlayA); -- cgit v1.2.3-70-g09d2