diff options
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/rewriterview.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/rewriterview.cpp | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp index f7a1254035..86b561548e 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp @@ -72,12 +72,7 @@ RewriterView::RewriterView(DifferenceHandling differenceHandling, QObject *paren m_textToModelMerger(new Internal::TextToModelMerger(this)) { m_amendTimer.setSingleShot(true); - m_amendTimer.setInterval(400); connect(&m_amendTimer, &QTimer::timeout, this, &RewriterView::amendQmlText); - - QmlJS::ModelManagerInterface *modelManager = QmlJS::ModelManagerInterface::instance(); - connect(modelManager, &QmlJS::ModelManagerInterface::libraryInfoUpdated, - this, &RewriterView::handleLibraryInfoUpdate, Qt::QueuedConnection); } RewriterView::~RewriterView() = default; @@ -94,8 +89,6 @@ Internal::TextToModelMerger *RewriterView::textToModelMerger() const void RewriterView::modelAttached(Model *model) { - m_modelAttachPending = false; - if (model && model->textModifier()) setTextModifier(model->textModifier()); @@ -109,12 +102,10 @@ void RewriterView::modelAttached(Model *model) if (!(m_errors.isEmpty() && m_warnings.isEmpty())) notifyErrorsAndWarnings(m_errors); - if (hasIncompleteTypeInformation()) { - m_modelAttachPending = true; + if (hasIncompleteTypeInformation()) QTimer::singleShot(1000, this, [this, model](){ modelAttached(model); }); - } } void RewriterView::modelAboutToBeDetached(Model * /*model*/) @@ -812,13 +803,6 @@ void RewriterView::setupCanonicalHashes() const } } -void RewriterView::handleLibraryInfoUpdate() -{ - // Trigger dummy amend to reload document when library info changes - if (isAttached() && !m_modelAttachPending) - m_amendTimer.start(); -} - ModelNode RewriterView::nodeAtTextCursorPosition(int cursorPosition) const { return nodeAtTextCursorPositionHelper(rootModelNode(), cursorPosition); @@ -1021,7 +1005,7 @@ void RewriterView::qmlTextChanged() auto &viewManager = QmlDesignerPlugin::instance()->viewManager(); if (viewManager.usesRewriterView(this)) { QmlDesignerPlugin::instance()->viewManager().disableWidgets(); - m_amendTimer.start(); + m_amendTimer.start(400); } #else /*Keep test synchronous*/ |