QmlJsEditor: Don't export Internal classes

Export two functions doing the actual work instead.
Centralize some repeated code.

Change-Id: I7de674ef7ae5537663d1227d36cc556c4ee3ed74
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
hjk
2023-12-21 16:47:22 +01:00
parent e98e5cc980
commit 63374fb34d
9 changed files with 77 additions and 87 deletions

View File

@@ -1184,7 +1184,7 @@ QmlJSEditorFactory::QmlJSEditorFactory(Utils::Id _id)
void QmlJSEditorFactory::decorateEditor(TextEditorWidget *editor)
{
editor->textDocument()->resetSyntaxHighlighter([] { return new QmlJSHighlighter(); });
editor->textDocument()->setIndenter(new Internal::Indenter(editor->textDocument()->document()));
editor->textDocument()->setIndenter(createQmlJsIndenter(editor->textDocument()->document()));
editor->setAutoCompleter(new AutoCompleter);
}

View File

@@ -822,7 +822,7 @@ QmlJSEditorDocument::QmlJSEditorDocument(Utils::Id id)
d, &Internal::QmlJSEditorDocumentPrivate::settingsChanged);
resetSyntaxHighlighter([] { return new QmlJSHighlighter(); });
setCodec(QTextCodec::codecForName("UTF-8")); // qml files are defined to be utf-8
setIndenter(new Internal::Indenter(document()));
setIndenter(createQmlJsIndenter(document()));
}
bool QmlJSEditorDocument::supportsCodec(const QTextCodec *codec) const

View File

@@ -396,17 +396,8 @@ void QuickToolBar::onEnabledChanged(bool b)
void QuickToolBar::indentLines(int startLine, int endLine)
{
if (startLine > 0) {
TextEditor::TabSettings tabSettings = m_editorWidget->textDocument()->tabSettings();
for (int i = startLine; i <= endLine; i++) {
QTextBlock start = m_editorWidget->document()->findBlockByNumber(i);
if (start.isValid()) {
QmlJSEditor::Internal::Indenter indenterMy(m_editorWidget->document());
indenterMy.indentBlock(start, QChar::Null, tabSettings);
}
}
}
QmlJSEditor::indentQmlJs(m_editorWidget->document(), startLine, endLine,
m_editorWidget->textDocument()->tabSettings());
}
ContextPaneWidget *QuickToolBar::contextWidget()