CppEditor: Give C++ file name settings a per-project variant

Fixes: QTCREATORBUG-22033
Change-Id: If37517bb091438e70c5af5102bf833ed46d0c951
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2023-05-31 14:29:03 +02:00
parent 6cc325f845
commit 8e75381fce
39 changed files with 431 additions and 162 deletions

View File

@@ -570,7 +570,8 @@ void ClangdClient::findUsages(const CppEditor::CursorInEditor &cursor,
if (useClangdForRenaming) {
symbolSupport().renameSymbol(cursor.textDocument(), adjustedCursor, *replacement,
renameCallback, CppEditor::preferLowerCaseFileNames());
renameCallback,
CppEditor::preferLowerCaseFileNames(project()));
return;
}
}

View File

@@ -90,7 +90,8 @@ public:
const ReplacementData &replacementData,
const QString &newSymbolName,
const SearchResultItems &checkedItems,
bool preserveCase);
bool preserveCase,
bool preferLowerCaseFileNames);
void handleFindUsagesResult(const QList<Location> &locations);
void finishSearch();
void reportAllSearchResultsAndFinish();
@@ -141,13 +142,14 @@ ClangdFindReferences::ClangdFindReferences(ClangdClient *client, TextDocument *d
const auto renameFilesCheckBox = new QCheckBox;
renameFilesCheckBox->setVisible(false);
d->search->setAdditionalReplaceWidget(renameFilesCheckBox);
const auto renameHandler =
[search = d->search](const QString &newSymbolName,
const SearchResultItems &checkedItems,
bool preserveCase) {
const bool preferLowerCase = CppEditor::preferLowerCaseFileNames(client->project());
const auto renameHandler = [search = d->search, preferLowerCase](
const QString &newSymbolName,
const SearchResultItems &checkedItems,
bool preserveCase) {
const auto replacementData = search->userData().value<ReplacementData>();
Private::handleRenameRequest(search, replacementData, newSymbolName, checkedItems,
preserveCase);
preserveCase, preferLowerCase);
};
connect(d->search, &SearchResult::replaceButtonClicked, renameHandler);
}
@@ -244,7 +246,8 @@ void ClangdFindReferences::Private::handleRenameRequest(
const ReplacementData &replacementData,
const QString &newSymbolName,
const SearchResultItems &checkedItems,
bool preserveCase)
bool preserveCase,
bool preferLowerCaseFileNames)
{
const Utils::FilePaths filePaths = BaseFileFind::replaceAll(newSymbolName, checkedItems,
preserveCase);
@@ -261,7 +264,7 @@ void ClangdFindReferences::Private::handleRenameRequest(
ProjectExplorerPlugin::renameFilesForSymbol(
replacementData.oldSymbolName, newSymbolName,
Utils::toList(replacementData.fileRenameCandidates),
CppEditor::preferLowerCaseFileNames());
preferLowerCaseFileNames);
}
void ClangdFindReferences::Private::handleFindUsagesResult(const QList<Location> &locations)