forked from qt-creator/qt-creator
QmlDesigner: Deactivate integrated text editor in detach
We delete the integrated text editor and set the original text editor as the current one. Change-Id: I2dd6c7421d4d3078dda8ca9dae8fb04553723240 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -114,6 +114,10 @@ void TextEditorView::modelAttached(Model *model)
|
|||||||
void TextEditorView::modelAboutToBeDetached(Model *model)
|
void TextEditorView::modelAboutToBeDetached(Model *model)
|
||||||
{
|
{
|
||||||
AbstractView::modelAboutToBeDetached(model);
|
AbstractView::modelAboutToBeDetached(model);
|
||||||
|
|
||||||
|
m_widget->setTextEditor(0);
|
||||||
|
|
||||||
|
QmlDesignerPlugin::instance()->emitCurrentTextEditorChanged(QmlDesignerPlugin::instance()->currentDesignDocument()->textEditor());
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextEditorView::importsChanged(const QList<Import> &/*addedImports*/, const QList<Import> &/*removedImports*/)
|
void TextEditorView::importsChanged(const QList<Import> &/*addedImports*/, const QList<Import> &/*removedImports*/)
|
||||||
|
@@ -68,21 +68,24 @@ void TextEditorWidget::setTextEditor(TextEditor::BaseTextEditor *textEditor)
|
|||||||
{
|
{
|
||||||
TextEditor::BaseTextEditor *oldEditor = m_textEditor.release();
|
TextEditor::BaseTextEditor *oldEditor = m_textEditor.release();
|
||||||
m_textEditor.reset(textEditor);
|
m_textEditor.reset(textEditor);
|
||||||
layout()->removeWidget(m_statusBar);
|
|
||||||
layout()->addWidget(textEditor->editorWidget());
|
|
||||||
layout()->addWidget(m_statusBar);
|
|
||||||
setFocusProxy(textEditor->editorWidget());
|
|
||||||
|
|
||||||
QmlDesignerPlugin::instance()->emitCurrentTextEditorChanged(textEditor);
|
if (textEditor) {
|
||||||
|
layout()->removeWidget(m_statusBar);
|
||||||
|
layout()->addWidget(textEditor->editorWidget());
|
||||||
|
layout()->addWidget(m_statusBar);
|
||||||
|
setFocusProxy(textEditor->editorWidget());
|
||||||
|
|
||||||
connect(textEditor->editorWidget(), &QPlainTextEdit::cursorPositionChanged,
|
QmlDesignerPlugin::instance()->emitCurrentTextEditorChanged(textEditor);
|
||||||
this, [this]() {
|
|
||||||
/* Cursor position is changed by rewriter */
|
|
||||||
if (!m_blockCurserSelectionSyncronisation)
|
|
||||||
m_updateSelectionTimer.start();
|
|
||||||
});
|
|
||||||
|
|
||||||
textEditor->editorWidget()->installEventFilter(this);
|
connect(textEditor->editorWidget(), &QPlainTextEdit::cursorPositionChanged,
|
||||||
|
this, [this]() {
|
||||||
|
/* Cursor position is changed by rewriter */
|
||||||
|
if (!m_blockCurserSelectionSyncronisation)
|
||||||
|
m_updateSelectionTimer.start();
|
||||||
|
});
|
||||||
|
|
||||||
|
textEditor->editorWidget()->installEventFilter(this);
|
||||||
|
}
|
||||||
|
|
||||||
if (oldEditor)
|
if (oldEditor)
|
||||||
oldEditor->deleteLater();
|
oldEditor->deleteLater();
|
||||||
|
Reference in New Issue
Block a user