forked from qt-creator/qt-creator
CppFindReferences: Avoid using sender()
Change-Id: I8db77d9c4fecbb89875128555050a4dd5a248a42 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -60,6 +60,8 @@ using namespace Core;
|
|||||||
using namespace ProjectExplorer;
|
using namespace ProjectExplorer;
|
||||||
using namespace Utils;
|
using namespace Utils;
|
||||||
|
|
||||||
|
using namespace std::placeholders;
|
||||||
|
|
||||||
namespace CppEditor {
|
namespace CppEditor {
|
||||||
|
|
||||||
namespace { static bool isAllLowerCase(const QString &text) { return text.toLower() == text; } }
|
namespace { static bool isAllLowerCase(const QString &text) { return text.toLower() == text; } }
|
||||||
@@ -467,13 +469,10 @@ void CppFindReferences::findUsages(CPlusPlus::Symbol *symbol,
|
|||||||
search->setTextToReplace(replacement);
|
search->setTextToReplace(replacement);
|
||||||
if (codeModelSettings()->categorizeFindReferences())
|
if (codeModelSettings()->categorizeFindReferences())
|
||||||
search->setFilter(new CppSearchResultFilter);
|
search->setFilter(new CppSearchResultFilter);
|
||||||
auto renameFilesCheckBox = new QCheckBox();
|
setupSearch(search);
|
||||||
renameFilesCheckBox->setVisible(false);
|
|
||||||
search->setAdditionalReplaceWidget(renameFilesCheckBox);
|
|
||||||
connect(search, &SearchResult::replaceButtonClicked,
|
|
||||||
this, &CppFindReferences::onReplaceButtonClicked);
|
|
||||||
search->setSearchAgainSupported(true);
|
search->setSearchAgainSupported(true);
|
||||||
connect(search, &SearchResult::searchAgainRequested, this, &CppFindReferences::searchAgain);
|
connect(search, &SearchResult::searchAgainRequested, this,
|
||||||
|
std::bind(&CppFindReferences::searchAgain, this, search));
|
||||||
CppFindReferencesParameters parameters;
|
CppFindReferencesParameters parameters;
|
||||||
parameters.symbolId = fullIdForSymbol(symbol);
|
parameters.symbolId = fullIdForSymbol(symbol);
|
||||||
parameters.symbolFileName = QByteArray(symbol->fileName());
|
parameters.symbolFileName = QByteArray(symbol->fileName());
|
||||||
@@ -525,7 +524,17 @@ void CppFindReferences::findAll_helper(SearchResult *search, CPlusPlus::Symbol *
|
|||||||
connect(progress, &FutureProgress::clicked, search, &SearchResult::popup);
|
connect(progress, &FutureProgress::clicked, search, &SearchResult::popup);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppFindReferences::onReplaceButtonClicked(const QString &text,
|
void CppFindReferences::setupSearch(Core::SearchResult *search)
|
||||||
|
{
|
||||||
|
auto renameFilesCheckBox = new QCheckBox();
|
||||||
|
renameFilesCheckBox->setVisible(false);
|
||||||
|
search->setAdditionalReplaceWidget(renameFilesCheckBox);
|
||||||
|
connect(search, &SearchResult::replaceButtonClicked, this,
|
||||||
|
std::bind(&CppFindReferences::onReplaceButtonClicked, this, search, _1, _2, _3));
|
||||||
|
}
|
||||||
|
|
||||||
|
void CppFindReferences::onReplaceButtonClicked(Core::SearchResult *search,
|
||||||
|
const QString &text,
|
||||||
const QList<SearchResultItem> &items,
|
const QList<SearchResultItem> &items,
|
||||||
bool preserveCase)
|
bool preserveCase)
|
||||||
{
|
{
|
||||||
@@ -536,9 +545,6 @@ void CppFindReferences::onReplaceButtonClicked(const QString &text,
|
|||||||
SearchResultWindow::instance()->hide();
|
SearchResultWindow::instance()->hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
auto search = qobject_cast<SearchResult *>(sender());
|
|
||||||
QTC_ASSERT(search, return);
|
|
||||||
|
|
||||||
CppFindReferencesParameters parameters = search->userData().value<CppFindReferencesParameters>();
|
CppFindReferencesParameters parameters = search->userData().value<CppFindReferencesParameters>();
|
||||||
if (parameters.filesToRename.isEmpty())
|
if (parameters.filesToRename.isEmpty())
|
||||||
return;
|
return;
|
||||||
@@ -550,9 +556,8 @@ void CppFindReferences::onReplaceButtonClicked(const QString &text,
|
|||||||
renameFilesForSymbol(parameters.prettySymbolName, text, parameters.filesToRename);
|
renameFilesForSymbol(parameters.prettySymbolName, text, parameters.filesToRename);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppFindReferences::searchAgain()
|
void CppFindReferences::searchAgain(SearchResult *search)
|
||||||
{
|
{
|
||||||
auto search = qobject_cast<SearchResult *>(sender());
|
|
||||||
CppFindReferencesParameters parameters = search->userData().value<CppFindReferencesParameters>();
|
CppFindReferencesParameters parameters = search->userData().value<CppFindReferencesParameters>();
|
||||||
parameters.filesToRename.clear();
|
parameters.filesToRename.clear();
|
||||||
CPlusPlus::Snapshot snapshot = CppModelManager::instance()->snapshot();
|
CPlusPlus::Snapshot snapshot = CppModelManager::instance()->snapshot();
|
||||||
@@ -820,12 +825,7 @@ void CppFindReferences::findMacroUses(const CPlusPlus::Macro ¯o, const QStri
|
|||||||
QLatin1String("CppEditor"));
|
QLatin1String("CppEditor"));
|
||||||
|
|
||||||
search->setTextToReplace(replacement);
|
search->setTextToReplace(replacement);
|
||||||
auto renameFilesCheckBox = new QCheckBox();
|
setupSearch(search);
|
||||||
renameFilesCheckBox->setVisible(false);
|
|
||||||
search->setAdditionalReplaceWidget(renameFilesCheckBox);
|
|
||||||
connect(search, &SearchResult::replaceButtonClicked,
|
|
||||||
this, &CppFindReferences::onReplaceButtonClicked);
|
|
||||||
|
|
||||||
SearchResultWindow::instance()->popup(IOutputPane::ModeSwitch | IOutputPane::WithFocus);
|
SearchResultWindow::instance()->popup(IOutputPane::ModeSwitch | IOutputPane::WithFocus);
|
||||||
|
|
||||||
connect(search, &SearchResult::activated,
|
connect(search, &SearchResult::activated,
|
||||||
|
@@ -97,8 +97,10 @@ public:
|
|||||||
void renameMacroUses(const CPlusPlus::Macro ¯o, const QString &replacement = QString());
|
void renameMacroUses(const CPlusPlus::Macro ¯o, const QString &replacement = QString());
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void onReplaceButtonClicked(const QString &text, const QList<Core::SearchResultItem> &items, bool preserveCase);
|
void setupSearch(Core::SearchResult *search);
|
||||||
void searchAgain();
|
void onReplaceButtonClicked(Core::SearchResult *search, const QString &text,
|
||||||
|
const QList<Core::SearchResultItem> &items, bool preserveCase);
|
||||||
|
void searchAgain(Core::SearchResult *search);
|
||||||
|
|
||||||
void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context,
|
void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context,
|
||||||
const QString &replacement, bool replace);
|
const QString &replacement, bool replace);
|
||||||
|
Reference in New Issue
Block a user