forked from qt-creator/qt-creator
Find: Do not try to show weird control characters in results
Replace all non-printable characters by question marks for display purposes. Fixes: QTCREATORBUG-9108 Change-Id: I81d31880dd5b1b2f9dea66acfdbe78ce89e685ca Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -231,6 +231,17 @@ void BaseFileFind::setCurrentSearchEngine(int index)
|
|||||||
emit currentSearchEngineChanged();
|
emit currentSearchEngineChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static QString displayText(const QString &line)
|
||||||
|
{
|
||||||
|
QString result = line;
|
||||||
|
auto end = result.end();
|
||||||
|
for (auto it = result.begin(); it != end; ++it) {
|
||||||
|
if (!it->isPrint())
|
||||||
|
*it = QChar('?');
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
static void displayResult(QFutureWatcher<FileSearchResultList> *watcher,
|
static void displayResult(QFutureWatcher<FileSearchResultList> *watcher,
|
||||||
SearchResult *search, int index)
|
SearchResult *search, int index)
|
||||||
{
|
{
|
||||||
@@ -240,7 +251,7 @@ static void displayResult(QFutureWatcher<FileSearchResultList> *watcher,
|
|||||||
SearchResultItem item;
|
SearchResultItem item;
|
||||||
item.setFilePath(Utils::FilePath::fromString(result.fileName));
|
item.setFilePath(Utils::FilePath::fromString(result.fileName));
|
||||||
item.setMainRange(result.lineNumber, result.matchStart, result.matchLength);
|
item.setMainRange(result.lineNumber, result.matchStart, result.matchLength);
|
||||||
item.setLineText(result.matchingLine);
|
item.setLineText(displayText(result.matchingLine));
|
||||||
item.setUseTextEditorFont(true);
|
item.setUseTextEditorFont(true);
|
||||||
item.setUserData(result.regexpCapturedTexts);
|
item.setUserData(result.regexpCapturedTexts);
|
||||||
items << item;
|
items << item;
|
||||||
|
Reference in New Issue
Block a user