summaryrefslogtreecommitdiff
path: root/src/plugins/qmljseditor
diff options
context:
space:
mode:
authorNicolas Arnaud-Cormos <nicolas@kdab.com>2011-09-14 22:16:28 +0200
committerChristian Kamm <christian.d.kamm@nokia.com>2011-10-22 21:11:32 +0200
commit635ca2a51a6582aceaded32000d2190344805e15 (patch)
tree784a78d0899b1f80d11b56b759a547ba107d6ee1 /src/plugins/qmljseditor
parentd136b011e14de330a32d781e6653413e1aeb6678 (diff)
downloadqt-creator-635ca2a51a6582aceaded32000d2190344805e15.tar.gz
QmlEditor: show the id name when folding a block.
If the id of an element exists, it will be displayed instead of the normal "..." Change-Id: I4e6633743b0e2ae014b7fbad3c752ef318c73659 Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Diffstat (limited to 'src/plugins/qmljseditor')
-rw-r--r--src/plugins/qmljseditor/qmljseditor.cpp28
-rw-r--r--src/plugins/qmljseditor/qmljseditor.h1
2 files changed, 29 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);
+}
diff --git a/src/plugins/qmljseditor/qmljseditor.h b/src/plugins/qmljseditor/qmljseditor.h
index 52c1bba71b..532290bf3f 100644
--- a/src/plugins/qmljseditor/qmljseditor.h
+++ b/src/plugins/qmljseditor/qmljseditor.h
@@ -216,6 +216,7 @@ protected:
TextEditor::BaseTextEditor *createEditor();
void createToolBar(QmlJSEditorEditable *editable);
TextEditor::BaseTextEditorWidget::Link findLinkAt(const QTextCursor &cursor, bool resolveTarget = true);
+ QString foldReplacementText(const QTextBlock &block) const;
private:
bool isClosingBrace(const QList<QmlJS::Token> &tokens) const;