File indexing completed on 2024-05-12 15:58:37

0001 /*
0002  *  SPDX-FileCopyrightText: 2011 Dmitry Kazakov <dimula73@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #include "kis_processing_visitor.h"
0008 
0009 #include <KoUpdater.h>
0010 #include <KoProgressUpdater.h>
0011 #include "kis_node_progress_proxy.h"
0012 #include "kis_node.h"
0013 #include <KLocalizedString>
0014 
0015 KisProcessingVisitor::ProgressHelper::ProgressHelper(const KisNode *node)
0016 {
0017     KisNodeProgressProxy *progressProxy = node->nodeProgressProxy();
0018 
0019     if(progressProxy) {
0020         m_progressUpdater = new KoProgressUpdater(progressProxy);
0021         m_progressUpdater->setObjectName("ProgressHelper::m_progressUpdater");
0022         m_progressUpdater->start(100, i18n("Processing"));
0023         m_progressUpdater->moveToThread(node->thread());
0024     }
0025     else {
0026         m_progressUpdater = 0;
0027     }
0028 }
0029 
0030 KisProcessingVisitor::ProgressHelper::~ProgressHelper()
0031 {
0032     if (m_progressUpdater) {
0033         m_progressUpdater->deleteLater();
0034     }
0035 }
0036 
0037 KoUpdater* KisProcessingVisitor::ProgressHelper::updater() const
0038 {
0039     return m_progressUpdater ? m_progressUpdater->startSubtask() : 0;
0040 }
0041 
0042 
0043 KisProcessingVisitor::~KisProcessingVisitor()
0044 {
0045 }
0046 
0047 KUndo2Command *KisProcessingVisitor::createInitCommand()
0048 {
0049     return 0;
0050 }