diff options
Diffstat (limited to 'archivecontroller.cpp')
-rw-r--r-- | archivecontroller.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/archivecontroller.cpp b/archivecontroller.cpp index 50e9982..869ffb0 100644 --- a/archivecontroller.cpp +++ b/archivecontroller.cpp @@ -12,6 +12,7 @@ #include <QInputDialog> #include <QTextEdit> #include <QStandardItemModel> +#include <QAction> #include "archivecontroller.h" #include "archivemodel.h" @@ -162,6 +163,11 @@ void ArchiveController::editFileNo(){ } } +void ArchiveController::addActionForTree(QAction *a){ + mActionsForTree << a; + mArchiveTree->addAction(a); +} + void ArchiveController::treeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected){ Q_UNUSED(selected); Q_UNUSED(deselected); @@ -190,6 +196,10 @@ void ArchiveController::treeSelectionChanged(const QItemSelection &selected, con } QString metaData = mArchiveModel->metadata(*ids.begin()); mMetadataView->setHtml(metaData); + int nodeType = sel.first().data(ArchiveModel::TypeRole).toInt(); + foreach(QAction *a, mActionsForTree){ + a->setEnabled(a->data().toInt() & nodeType); + } } void ArchiveController::fileDoubleClicked(const QModelIndex &idx){ |