forked from qt-creator/qt-creator
QmlJSEditor: avoid jumping cursor while editing
Writing a property made the cursor jumped to the beginning. Now we only set the cursor if the textedit has not the focus and no code completion open. Change-Id: I7e5d41d5f7f9d75ebc90506d276ccaeb193c64b2 Task-number: QTCREATORBUG-15680 Task-number: QTCREATORBUG-17413 Reviewed-by: Marco Benelli <marco.benelli@qt.io> Reviewed-by: Robert Loehning <robert.loehning@qt.io>
This commit is contained in:
committed by
Robert Loehning
parent
c643095f17
commit
76dc24c3b7
@@ -218,6 +218,11 @@ void QmlJSEditorWidget::modificationChanged(bool changed)
|
||||
m_modelManager->fileChangedOnDisk(textDocument()->filePath().toString());
|
||||
}
|
||||
|
||||
bool QmlJSEditorWidget::isOutlineCursorChangesBlocked()
|
||||
{
|
||||
return hasFocus() || m_blockOutLineCursorChanges;
|
||||
}
|
||||
|
||||
void QmlJSEditorWidget::jumpToOutlineElement(int /*index*/)
|
||||
{
|
||||
QModelIndex index = m_outlineCombo->view()->currentIndex();
|
||||
@@ -808,6 +813,7 @@ void QmlJSEditorWidget::showContextPane()
|
||||
|
||||
void QmlJSEditorWidget::contextMenuEvent(QContextMenuEvent *e)
|
||||
{
|
||||
m_blockOutLineCursorChanges = true;
|
||||
QPointer<QMenu> menu(new QMenu(this));
|
||||
|
||||
QMenu *refactoringMenu = new QMenu(tr("Refactoring"), menu);
|
||||
@@ -852,6 +858,7 @@ void QmlJSEditorWidget::contextMenuEvent(QContextMenuEvent *e)
|
||||
|
||||
menu->exec(e->globalPos());
|
||||
delete menu;
|
||||
m_blockOutLineCursorChanges = false;
|
||||
}
|
||||
|
||||
bool QmlJSEditorWidget::event(QEvent *e)
|
||||
|
||||
Reference in New Issue
Block a user