Warning, file /office/calligra/gemini/ToolManager.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2012 Dan Leinir Turthra Jensen <admin@leinir.dk> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 0008 #include "ToolManager.h" 0009 #include <KoToolRegistry.h> 0010 #include <KoToolManager.h> 0011 #include <KoToolBase.h> 0012 #include <KoCanvasController.h> 0013 #include <QPointer> 0014 0015 class ToolManager::Private 0016 { 0017 public: 0018 Private() 0019 { 0020 toolManager = KoToolManager::instance(); 0021 }; 0022 0023 QPointer<KoToolManager> toolManager; 0024 QPointer<KoToolBase> currentTool; 0025 }; 0026 0027 ToolManager::ToolManager(QQuickItem* parent) 0028 : QQuickItem(parent) 0029 , d(new Private) 0030 { 0031 connect(KoToolManager::instance(), &KoToolManager::changedTool, 0032 this, &ToolManager::slotToolChanged); 0033 } 0034 0035 ToolManager::~ToolManager() 0036 { 0037 delete d; 0038 } 0039 0040 void ToolManager::requestToolChange(QString toolID) 0041 { 0042 d->toolManager->switchToolRequested(toolID); 0043 } 0044 0045 QObject* ToolManager::currentTool() const 0046 { 0047 return d->currentTool; 0048 } 0049 0050 void ToolManager::slotToolChanged(KoCanvasController* canvas, int toolId) 0051 { 0052 Q_UNUSED(canvas); 0053 Q_UNUSED(toolId); 0054 0055 if(!d->toolManager) 0056 return; 0057 0058 QString id = KoToolManager::instance()->activeToolId(); 0059 d->currentTool = qobject_cast<KoToolBase*>(KoToolManager::instance()->toolById(canvas->canvas(), id)); 0060 emit currentToolChanged(); 0061 }