diff options
Diffstat (limited to 'src/plugins/qmljseditor/qmljseditor.cpp')
-rw-r--r-- | src/plugins/qmljseditor/qmljseditor.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp index 0f3c36f7fd..f1b4b2045e 100644 --- a/src/plugins/qmljseditor/qmljseditor.cpp +++ b/src/plugins/qmljseditor/qmljseditor.cpp @@ -1692,3 +1692,31 @@ TextEditor::IAssistInterface *QmlJSTextEditorWidget::createAssistInterface( } return 0; } + +QString QmlJSTextEditorWidget::foldReplacementText(const QTextBlock &block) const +{ + int curlyIndex = block.text().indexOf(QLatin1Char('{')); + + if ((curlyIndex == -1) || !m_semanticInfo.isValid()) + return TextEditor::BaseTextEditorWidget::foldReplacementText(block); + + int pos = block.position() + curlyIndex; + Node *node = m_semanticInfo.rangeAt(pos); + + if (node) { + UiObjectInitializer *objectInitializer = 0; + if (UiObjectDefinition *def = cast<UiObjectDefinition *>(node)) + objectInitializer = def->initializer; + else if (UiObjectBinding *binding = cast<UiObjectBinding *>(node)) + objectInitializer = binding->initializer; + + // Get the id value, if it exists, and display it + if (objectInitializer) { + QString objectId = idOfObject(objectInitializer); + if (!objectId.isEmpty()) + return QLatin1String("id: ") + objectId + QLatin1String("..."); + } + } + + return TextEditor::BaseTextEditorWidget::foldReplacementText(block); +} |