File indexing completed on 2024-06-16 04:23:10
0001 /* 0002 SPDX-FileCopyrightText: 2008 David Nolden <david.nolden.kdevelop@art-master.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "refactoringdialog.h" 0008 0009 #include <language/duchain/duchainlock.h> 0010 #include <language/duchain/navigation/usescollector.h> 0011 0012 namespace KDevelop { 0013 RefactoringProgressDialog::RefactoringProgressDialog(const QString& action, KDevelop::UsesCollector* collector) 0014 : m_collector(collector) 0015 { 0016 if (!collector) { 0017 return; 0018 } 0019 0020 m_rd.setupUi(this); 0021 0022 m_rd.progressBar->setMinimum(0); 0023 m_rd.progressBar->setMaximum(0); 0024 m_rd.renameLabel->setText(action); 0025 connect(m_collector, &UsesCollector::processUsesSignal, this, &RefactoringProgressDialog::processUses); 0026 connect(m_collector, &UsesCollector::progressSignal, this, &RefactoringProgressDialog::progress); 0027 connect(m_collector, &UsesCollector::maximumProgressSignal, this, &RefactoringProgressDialog::maximumProgress); 0028 } 0029 0030 void RefactoringProgressDialog::progress(uint done, uint max) 0031 { 0032 if (done == max) 0033 accept(); 0034 } 0035 0036 void RefactoringProgressDialog::maximumProgress(uint max) 0037 { 0038 if (max == 0) 0039 accept(); 0040 } 0041 0042 void RefactoringProgressDialog::processUses(const KDevelop::ReferencedTopDUContext& context) 0043 { 0044 DUChainReadLocker lock; 0045 if (context.data()) { 0046 m_rd.fileLabel->setText(context->url().str()); 0047 } 0048 } 0049 } 0050 0051 #include "moc_refactoringdialog.cpp"