Implemented Rename Macro Usages

Works the same way as Rename Usages for C++ Symbols.

For now, no Search Again as this requieres further work.

Task-number: QTCREATORBUG-413

Change-Id: I09e85ea1e8c247f5ce0b6bc566aba8018c1569e4
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
This commit is contained in:
Andre Hartmann
2012-03-17 13:26:27 +01:00
committed by Leandro Melo
parent 6147419f87
commit 44a3a5e070
6 changed files with 36 additions and 5 deletions

View File

@@ -645,12 +645,23 @@ static void findMacroUses_helper(QFutureInterface<Usage> &future,
}
void CppFindReferences::findMacroUses(const Macro &macro)
{
findMacroUses(macro, QString(), false);
}
void CppFindReferences::findMacroUses(const Macro &macro, const QString &replacement, bool replace)
{
Find::SearchResult *search = Find::SearchResultWindow::instance()->startNewSearch(
tr("C++ Macro Usages:"),
QString(),
macro.name(),
Find::SearchResultWindow::SearchOnly);
replace ? Find::SearchResultWindow::SearchAndReplace
: Find::SearchResultWindow::SearchOnly,
QLatin1String("CppEditor"));
search->setTextToReplace(replacement);
connect(search, SIGNAL(replaceButtonClicked(QString,QList<Find::SearchResultItem>)),
SLOT(onReplaceButtonClicked(QString,QList<Find::SearchResultItem>)));
Find::SearchResultWindow::instance()->popup(true);
@@ -685,6 +696,12 @@ void CppFindReferences::findMacroUses(const Macro &macro)
connect(progress, SIGNAL(clicked()), search, SLOT(popup()));
}
void CppFindReferences::renameMacroUses(const Macro &macro, const QString &replacement)
{
const QString textToReplace = replacement.isEmpty() ? macro.name() : replacement;
findMacroUses(macro, textToReplace, true);
}
DependencyTable CppFindReferences::updateDependencyTable(CPlusPlus::Snapshot snapshot)
{
DependencyTable oldDeps = dependencyTable();