File indexing completed on 2024-05-19 04:29:16
0001 /* 0002 * SPDX-FileCopyrightText: 2021 Halla Rempt <halla@valdyas.org> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 #include "KisNodeActivationActionCreatorVisitor.h" 0007 0008 #include <kis_node_manager.h> 0009 #include <klocalizedstring.h> 0010 #include <kactioncollection.h> 0011 #include <QObject> 0012 #include <QRect> 0013 #include <kis_projection_leaf.h> 0014 0015 KisNodeActivationActionCreatorVisitor::KisNodeActivationActionCreatorVisitor(KisKActionCollection *actionCollection, KisNodeManager *nodeManager) 0016 : m_nodeManager(nodeManager) 0017 , m_actionCollection(actionCollection) 0018 { 0019 } 0020 0021 0022 bool KisNodeActivationActionCreatorVisitor::createAction(KisNode *node) 0023 { 0024 if (!node->projectionLeaf()->isRoot()) { 0025 QAction *action = new QAction(i18nc("A temporary action that actives a layer or mask", 0026 "Activate %1", node->name()), 0027 m_actionCollection); 0028 action->setObjectName(QString("select_%1").arg(node->name())); 0029 action->setProperty("node", node->name()); 0030 action->setIcon(node->icon()); 0031 QObject::connect(action, SIGNAL(triggered()), m_nodeManager, SLOT(slotUiActivateNode())); 0032 m_actionCollection->addAction(action->objectName(), action); 0033 } 0034 0035 visitAll(node); 0036 0037 return true; 0038 }