void CPPEditor::renameUsages()
{
+ Core::EditorManager::instance()->showEditorInfoBar(QLatin1String("CppEditor.Rename"),
+ tr("This change cannot be undone."),
+ tr("Yes, I know what I am doing."),
+ this, SLOT(renameUsagesNow()));
+}
+
+void CPPEditor::renameUsagesNow()
+{
+ Core::EditorManager::instance()->hideEditorInfoBar(QLatin1String("CppEditor.Rename"));
+
m_currentRenameSelection = -1;
QList<QTextEdit::ExtraSelection> selections;
#include <QtCore/QTime>
#include <QtCore/QtConcurrentRun>
#include <QtCore/QDir>
-
+#include <QtGui/QApplication>
#include <qtconcurrent/runextensions.h>
using namespace CppTools::Internal;
void CppFindReferences::renameUsages(Symbol *symbol)
{
- Find::SearchResult *search = _resultWindow->startNewSearch(Find::SearchResultWindow::SearchAndReplace);
+ if (Identifier *id = symbol->identifier()) {
+ const QString textToReplace = QString::fromUtf8(id->chars(), id->size());
- connect(search, SIGNAL(activated(Find::SearchResultItem)),
- this, SLOT(openEditor(Find::SearchResultItem)));
+ Find::SearchResult *search = _resultWindow->startNewSearch(Find::SearchResultWindow::SearchAndReplace);
+ _resultWindow->setTextToReplace(textToReplace);
- connect(search, SIGNAL(replaceButtonClicked(QString,QList<Find::SearchResultItem>)),
- SLOT(onReplaceButtonClicked(QString,QList<Find::SearchResultItem>)));
+ connect(search, SIGNAL(activated(Find::SearchResultItem)),
+ this, SLOT(openEditor(Find::SearchResultItem)));
- findAll_helper(symbol);
+ connect(search, SIGNAL(replaceButtonClicked(QString,QList<Find::SearchResultItem>)),
+ SLOT(onReplaceButtonClicked(QString,QList<Find::SearchResultItem>)));
+
+ findAll_helper(symbol);
+ }
}
void CppFindReferences::findAll_helper(Symbol *symbol)
const QStringList fileNames = changes.keys();
_modelManager->updateSourceFiles(fileNames);
+ _resultWindow->hide();
}
void CppFindReferences::displayResult(int index)
m_items.clear();
}
+void SearchResultWindow::setTextToReplace(const QString &textToReplace)
+{
+ m_replaceTextEdit->setText(textToReplace);
+ m_replaceTextEdit->selectAll();
+}
+
+QString SearchResultWindow::textToReplace() const
+{
+ return m_replaceTextEdit->text();
+}
+
void SearchResultWindow::setShowReplaceUI(bool show)
{
m_searchResultTreeView->model()->setShowReplaceUI(show);
void SearchResultWindow::clearContents()
{
setReplaceUIEnabled(false);
+ m_replaceTextEdit->clear();
m_searchResultTreeView->clear();
m_items.clear();
m_widget->setCurrentWidget(m_searchResultTreeView);
void setShowReplaceUI(bool show);
bool isShowingReplaceUI() const;
+ void setTextToReplace(const QString &textToReplace);
+ QString textToReplace() const;
+
// search result object only lives till next startnewsearch call
SearchResult *startNewSearch(SearchMode searchOrSearchAndReplace = SearchOnly);