diff options
author | Eike Ziller <eike.ziller@qt.io> | 2024-03-06 15:10:15 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2024-03-06 15:10:15 +0100 |
commit | 8abc95331f1dddafb07c691857d3519829acb4ef (patch) | |
tree | 4b7b3f506917028540aa3df17d27d4534c8857c3 /src/plugins/texteditor | |
parent | db5ac2dc15f0ac607c03416e538ae2ffc5482467 (diff) | |
parent | 7b8f274b9e3956a2e8668f932ee9717f96568678 (diff) |
Merge remote-tracking branch 'origin/13.0'
Conflicts:
cmake/QtCreatorIDEBranding.cmake
qbs/modules/qtc/qtc.qbs
src/plugins/cppeditor/cppcodemodelsettings.cpp
src/plugins/cppeditor/cppcodemodelsettings.h
Change-Id: I54937c39b06897a72a105e4e0a8b5f8a76c38e26
Diffstat (limited to 'src/plugins/texteditor')
-rw-r--r-- | src/plugins/texteditor/TextEditor.json.in | 12 | ||||
-rw-r--r-- | src/plugins/texteditor/texteditor.cpp | 19 |
2 files changed, 26 insertions, 5 deletions
diff --git a/src/plugins/texteditor/TextEditor.json.in b/src/plugins/texteditor/TextEditor.json.in index 5fbf3e3067..447d9c91c6 100644 --- a/src/plugins/texteditor/TextEditor.json.in +++ b/src/plugins/texteditor/TextEditor.json.in @@ -15,5 +15,15 @@ "Category" : "Core", "Description" : "Text editor framework and the implementation of the basic text editor.", "Url" : "http://www.qt.io", - ${IDE_PLUGIN_DEPENDENCIES} + ${IDE_PLUGIN_DEPENDENCIES}, + "Mimetypes" : [ + "<?xml version='1.0'?>", + "<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>", + " <mime-type type='text/vnd.qtcreator.devicetree.source'>", + " <comment>Device tree source files</comment>", + " <sub-class-of type='text/plain'/>", + " <glob pattern='*.dts' weight='80'/>", + " </mime-type>", + "</mime-info>" + ] } diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index baf027d124..3256ee91b7 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -3552,6 +3552,7 @@ void TextEditorWidget::restoreState(const QByteArray &state) QTC_ASSERT(documentLayout, return); documentLayout->requestUpdate(); documentLayout->emitDocumentSizeChanged(); + d->updateCursorPosition(); } }; if (!singleShotAfterHighlightingDone(foldingRestore)) @@ -4153,10 +4154,17 @@ void TextEditorWidgetPrivate::highlightSearchResults(const QTextBlock &block, co l = match.capturedLength(); if (l == 0) break; - if ((m_findFlags & FindWholeWords) - && ((idx && text.at(idx-1).isLetterOrNumber()) - || (idx + l < text.length() && text.at(idx + l).isLetterOrNumber()))) - continue; + if (m_findFlags & FindWholeWords) { + auto posAtWordSeparator = [](const QString &text, int idx) { + if (idx < 0 || idx >= text.length()) + return false; + const QChar c = text.at(idx); + return !c.isLetterOrNumber() && c != QLatin1Char('_'); + }; + if (!posAtWordSeparator(text, idx - 1) || !posAtWordSeparator(text, idx + l)) + continue; + } + const int start = blockPosition + idx; const int end = start + l; @@ -6696,6 +6704,9 @@ void TextEditorWidget::ensureBlockIsUnfolded(QTextBlock block) void TextEditorWidgetPrivate::toggleBlockVisible(const QTextBlock &block) { + if (q->singleShotAfterHighlightingDone([this, block] { toggleBlockVisible(block); })) + return; + auto documentLayout = qobject_cast<TextDocumentLayout*>(q->document()->documentLayout()); QTC_ASSERT(documentLayout, return); |