QmlJSEditor: Move outline model to document

Also the updating of the model is now done only once in the document,
and delayed till an editor is visible if necessary.

Change-Id: I69b1abebc2b691b37a618db7d1f5ebbbc8e75bca
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
This commit is contained in:
Eike Ziller
2014-01-30 17:18:35 +01:00
parent 1e6bc2758d
commit 58b717fbb8
5 changed files with 60 additions and 50 deletions

View File

@@ -105,8 +105,8 @@ public:
bool isSemanticInfoOutdated() const;
int editorRevision() const;
QVector<QTextLayout::FormatRange> diagnosticRanges() const;
Internal::QmlOutlineModel *outlineModel() const;
QModelIndex outlineModelIndex();
static QVector<TextEditor::TextStyle> highlighterFormatCategories();
@@ -126,7 +126,6 @@ private slots:
void modificationChanged(bool);
void jumpToOutlineElement(int index);
void updateOutlineNow();
void updateOutlineIndexNow();
void updateContextPane();
void showTextMarker();
@@ -166,11 +165,9 @@ private:
Internal::QmlJSEditorDocument *m_qmlJsEditorDocument;
QTimer *m_updateUsesTimer; // to wait for multiple text cursor position changes
QTimer *m_updateOutlineTimer;
QTimer *m_updateOutlineIndexTimer;
QTimer *m_contextPaneTimer;
QComboBox *m_outlineCombo;
Internal::QmlOutlineModel *m_outlineModel;
QModelIndex m_outlineModelIndex;
QmlJS::ModelManagerInterface *m_modelManager;