forked from qt-creator/qt-creator
ClangFormat: config use read only editors instead of disabled ones
Change-Id: I709dd2421b25f21cffa9d94259507f1852f9ccec Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
This commit is contained in:
@@ -92,7 +92,7 @@ private:
|
|||||||
void initPreview(TextEditor::ICodeStylePreferences *codeStyle);
|
void initPreview(TextEditor::ICodeStylePreferences *codeStyle);
|
||||||
void initEditor(TextEditor::ICodeStylePreferences *codeStyle);
|
void initEditor(TextEditor::ICodeStylePreferences *codeStyle);
|
||||||
|
|
||||||
void reopenClangFormatDocument();
|
void reopenClangFormatDocument(bool readOnly);
|
||||||
|
|
||||||
void updatePreview();
|
void updatePreview();
|
||||||
void slotCodeStyleChanged(TextEditor::ICodeStylePreferences *currentPreferences);
|
void slotCodeStyleChanged(TextEditor::ICodeStylePreferences *currentPreferences);
|
||||||
@@ -120,9 +120,13 @@ bool ClangFormatConfigWidget::eventFilter(QObject *object, QEvent *event)
|
|||||||
return QWidget::eventFilter(object, event);
|
return QWidget::eventFilter(object, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
ClangFormatConfigWidget::ClangFormatConfigWidget(TextEditor::ICodeStylePreferences *codeStyle,
|
static bool isReadOnlyCodeStyle(TextEditor::ICodeStylePreferences *style)
|
||||||
Project *project,
|
{
|
||||||
QWidget *parent)
|
return style->isReadOnly() || style->isTemporarilyReadOnly() || !style->isAdditionalTabVisible();
|
||||||
|
}
|
||||||
|
|
||||||
|
ClangFormatConfigWidget::ClangFormatConfigWidget(
|
||||||
|
TextEditor::ICodeStylePreferences *codeStyle, Project *project, QWidget *parent)
|
||||||
: CodeStyleEditorWidget(parent)
|
: CodeStyleEditorWidget(parent)
|
||||||
{
|
{
|
||||||
m_project = project;
|
m_project = project;
|
||||||
@@ -152,7 +156,7 @@ ClangFormatConfigWidget::ClangFormatConfigWidget(TextEditor::ICodeStylePreferenc
|
|||||||
|
|
||||||
slotCodeStyleChanged(codeStyle->currentPreferences());
|
slotCodeStyleChanged(codeStyle->currentPreferences());
|
||||||
|
|
||||||
reopenClangFormatDocument();
|
reopenClangFormatDocument(isReadOnlyCodeStyle(codeStyle));
|
||||||
updatePreview();
|
updatePreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -163,10 +167,7 @@ void ClangFormatConfigWidget::slotCodeStyleChanged(TextEditor::ICodeStylePrefere
|
|||||||
m_config.reset(new ClangFormatFile(codeStyle));
|
m_config.reset(new ClangFormatFile(codeStyle));
|
||||||
m_config->setIsReadOnly(codeStyle->isReadOnly());
|
m_config->setIsReadOnly(codeStyle->isReadOnly());
|
||||||
|
|
||||||
m_editorWidget->setEnabled(!codeStyle->isReadOnly() && !codeStyle->isTemporarilyReadOnly()
|
reopenClangFormatDocument(isReadOnlyCodeStyle(codeStyle));
|
||||||
&& codeStyle->isAdditionalTabVisible());
|
|
||||||
|
|
||||||
reopenClangFormatDocument();
|
|
||||||
updatePreview();
|
updatePreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,8 +189,6 @@ void ClangFormatConfigWidget::initEditor(TextEditor::ICodeStylePreferences *code
|
|||||||
Q_ARG(Core::IEditor *, m_editor.get()));
|
Q_ARG(Core::IEditor *, m_editor.get()));
|
||||||
|
|
||||||
m_editorWidget = m_editor->widget();
|
m_editorWidget = m_editor->widget();
|
||||||
m_editorWidget->setEnabled(!codeStyle->isReadOnly() && !codeStyle->isTemporarilyReadOnly()
|
|
||||||
&& codeStyle->isAdditionalTabVisible());
|
|
||||||
|
|
||||||
m_editorScrollArea->setWidget(m_editor->widget());
|
m_editorScrollArea->setWidget(m_editor->widget());
|
||||||
m_editorScrollArea->setWidgetResizable(true);
|
m_editorScrollArea->setWidgetResizable(true);
|
||||||
@@ -309,7 +308,7 @@ void ClangFormatConfigWidget::updatePreview()
|
|||||||
m_preview->textDocument()->autoFormatOrIndent(cursor);
|
m_preview->textDocument()->autoFormatOrIndent(cursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClangFormatConfigWidget::reopenClangFormatDocument()
|
void ClangFormatConfigWidget::reopenClangFormatDocument(bool readOnly)
|
||||||
{
|
{
|
||||||
GuardLocker locker(m_ignoreChanges);
|
GuardLocker locker(m_ignoreChanges);
|
||||||
|
|
||||||
@@ -319,6 +318,10 @@ void ClangFormatConfigWidget::reopenClangFormatDocument()
|
|||||||
invokeMethodForLanguageClientManager("documentOpened",
|
invokeMethodForLanguageClientManager("documentOpened",
|
||||||
Q_ARG(Core::IDocument *, m_editor->document()));
|
Q_ARG(Core::IDocument *, m_editor->document()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
auto textEditorWidget = qobject_cast<TextEditor::TextEditorWidget *>(m_editorWidget);
|
||||||
|
QTC_ASSERT(textEditorWidget, m_editorWidget->setEnabled(!readOnly); return;);
|
||||||
|
textEditorWidget->setReadOnly(readOnly);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClangFormatConfigWidget::apply()
|
void ClangFormatConfigWidget::apply()
|
||||||
|
Reference in New Issue
Block a user