forked from qt-creator/qt-creator
Editor: move code setCodeStyle from widget to document
The information was only used in the document and it does not make any sense to change it for different widgets in different ways. Change-Id: I1d7c4548c4bd02c3dfa8f27065e440b7469653b1 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -507,7 +507,7 @@ void CppCodeStylePreferencesWidget::updatePreview()
|
||||
QtStyleCodeFormatter formatter(ts, ccss);
|
||||
for (SnippetEditorWidget *preview : std::as_const(d->m_previews)) {
|
||||
preview->textDocument()->setTabSettings(ts);
|
||||
preview->setCodeStyle(cppCodeStylePreferences);
|
||||
preview->textDocument()->setCodeStyle(cppCodeStylePreferences);
|
||||
|
||||
QTextDocument *doc = preview->document();
|
||||
formatter.invalidateCache(doc);
|
||||
|
@@ -171,6 +171,12 @@ void CppEditorDocument::applyFontSettings()
|
||||
m_processor->semanticRehighlight();
|
||||
}
|
||||
|
||||
void CppEditorDocument::slotCodeStyleSettingsChanged()
|
||||
{
|
||||
QtStyleCodeFormatter formatter;
|
||||
formatter.invalidateCache(document());
|
||||
}
|
||||
|
||||
void CppEditorDocument::invalidateFormatterCache()
|
||||
{
|
||||
QtStyleCodeFormatter formatter;
|
||||
|
@@ -68,6 +68,7 @@ signals:
|
||||
protected:
|
||||
void applyFontSettings() override;
|
||||
Utils::Result saveImpl(const Utils::FilePath &filePath, bool autoSave) override;
|
||||
void slotCodeStyleSettingsChanged() override;
|
||||
|
||||
private:
|
||||
void invalidateFormatterCache();
|
||||
|
@@ -1246,12 +1246,6 @@ bool CppEditorWidget::handleStringSplitting(QKeyEvent *e) const
|
||||
return false;
|
||||
}
|
||||
|
||||
void CppEditorWidget::slotCodeStyleSettingsChanged(const QVariant &)
|
||||
{
|
||||
QtStyleCodeFormatter formatter;
|
||||
formatter.invalidateCache(document());
|
||||
}
|
||||
|
||||
void CppEditorWidget::updateSemanticInfo()
|
||||
{
|
||||
updateSemanticInfo(d->m_cppEditorDocument->recalculateSemanticInfo(),
|
||||
|
@@ -115,8 +115,6 @@ protected:
|
||||
bool resolveTarget = true,
|
||||
bool inNextSplit = false) override;
|
||||
|
||||
void slotCodeStyleSettingsChanged(const QVariant &) override;
|
||||
|
||||
private:
|
||||
void updateFunctionDeclDefLink();
|
||||
void updateFunctionDeclDefLinkNow();
|
||||
|
@@ -27,7 +27,7 @@ SelectableTextEditorWidget::SelectableTextEditorWidget(Utils::Id id, QWidget *pa
|
||||
this, &SelectableTextEditorWidget::setDisplaySettings);
|
||||
SelectableTextEditorWidget::setDisplaySettings(TextEditorSettings::displaySettings());
|
||||
|
||||
setCodeStyle(TextEditorSettings::codeStyle());
|
||||
textDocument()->setCodeStyle(TextEditorSettings::codeStyle());
|
||||
setCodeFoldingSupported(true);
|
||||
}
|
||||
|
||||
|
@@ -234,7 +234,7 @@ void EditorConfiguration::configureEditor(BaseTextEditor *textEditor) const
|
||||
{
|
||||
TextEditorWidget *widget = textEditor->editorWidget();
|
||||
if (widget)
|
||||
widget->setCodeStyle(codeStyle(widget->languageSettingsId()));
|
||||
widget->textDocument()->setCodeStyle(codeStyle(widget->languageSettingsId()));
|
||||
if (!d->m_useGlobal) {
|
||||
textEditor->textDocument()->setCodec(d->m_textCodec);
|
||||
if (widget)
|
||||
@@ -250,7 +250,7 @@ void EditorConfiguration::deconfigureEditor(BaseTextEditor *textEditor) const
|
||||
{
|
||||
TextEditorWidget *widget = textEditor->editorWidget();
|
||||
if (widget)
|
||||
widget->setCodeStyle(TextEditorSettings::codeStyle(widget->languageSettingsId()));
|
||||
widget->textDocument()->setCodeStyle(TextEditorSettings::codeStyle(widget->languageSettingsId()));
|
||||
|
||||
d->m_editors.removeOne(textEditor);
|
||||
|
||||
|
@@ -86,7 +86,7 @@ CodeStyleEditor::CodeStyleEditor(ICodeStylePreferencesFactory *factory,
|
||||
indenter->setFileName(fileName);
|
||||
m_preview->textDocument()->setIndenter(indenter);
|
||||
} else {
|
||||
m_preview->setCodeStyle(codeStyle);
|
||||
m_preview->textDocument()->setCodeStyle(codeStyle);
|
||||
}
|
||||
|
||||
updatePreview();
|
||||
|
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "extraencodingsettings.h"
|
||||
#include "fontsettings.h"
|
||||
#include "icodestylepreferences.h"
|
||||
#include "storagesettings.h"
|
||||
#include "syntaxhighlighter.h"
|
||||
#include "tabsettings.h"
|
||||
@@ -76,6 +77,7 @@ public:
|
||||
QString m_suggestedFileName;
|
||||
TypingSettings m_typingSettings;
|
||||
StorageSettings m_storageSettings;
|
||||
ICodeStylePreferences *m_codeStylePreferences = nullptr;
|
||||
TabSettings m_tabSettings;
|
||||
ExtraEncodingSettings m_extraEncodingSettings;
|
||||
FontSettings m_fontSettings;
|
||||
@@ -457,6 +459,26 @@ IAssistProvider *TextDocument::quickFixAssistProvider() const
|
||||
return d->m_quickFixProvider;
|
||||
}
|
||||
|
||||
void TextDocument::setCodeStyle(ICodeStylePreferences *preferences)
|
||||
{
|
||||
indenter()->setCodeStylePreferences(preferences);
|
||||
if (d->m_codeStylePreferences) {
|
||||
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
||||
this, &TextDocument::setTabSettings);
|
||||
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
||||
this, &TextDocument::slotCodeStyleSettingsChanged);
|
||||
}
|
||||
d->m_codeStylePreferences = preferences;
|
||||
if (d->m_codeStylePreferences) {
|
||||
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
||||
this, &TextDocument::setTabSettings);
|
||||
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
||||
this, &TextDocument::slotCodeStyleSettingsChanged);
|
||||
setTabSettings(d->m_codeStylePreferences->currentTabSettings());
|
||||
slotCodeStyleSettingsChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void TextDocument::applyFontSettings()
|
||||
{
|
||||
d->m_fontSettingsNeedsApply = false;
|
||||
@@ -470,6 +492,8 @@ void TextDocument::applyFontSettings()
|
||||
d->m_highlighter->setFontSettings(d->m_fontSettings);
|
||||
}
|
||||
|
||||
void TextDocument::slotCodeStyleSettingsChanged() { }
|
||||
|
||||
const FontSettings &TextDocument::fontSettings() const
|
||||
{
|
||||
return d->m_fontSettings;
|
||||
|
@@ -139,6 +139,7 @@ public:
|
||||
void setQuickFixAssistProvider(IAssistProvider *provider) const;
|
||||
virtual IAssistProvider *quickFixAssistProvider() const;
|
||||
|
||||
void setCodeStyle(ICodeStylePreferences *preferences);
|
||||
void setTabSettings(const TextEditor::TabSettings &tabSettings);
|
||||
void setFontSettings(const TextEditor::FontSettings &fontSettings);
|
||||
|
||||
@@ -163,6 +164,7 @@ signals:
|
||||
protected:
|
||||
virtual void applyFontSettings();
|
||||
Utils::Result saveImpl(const Utils::FilePath &filePath, bool autoSave) override;
|
||||
virtual void slotCodeStyleSettingsChanged(); // Used in CppEditorDocumet
|
||||
|
||||
private:
|
||||
OpenResult openImpl(QString *errorString,
|
||||
|
@@ -359,6 +359,7 @@ private:
|
||||
}));
|
||||
}
|
||||
tabSize->addActions(tabSizeGroup->actions());
|
||||
|
||||
menu->popup(QCursor::pos());
|
||||
}
|
||||
|
||||
@@ -896,7 +897,6 @@ public:
|
||||
QWidget *m_extraArea = nullptr;
|
||||
|
||||
Id m_tabSettingsId;
|
||||
ICodeStylePreferences *m_codeStylePreferences = nullptr;
|
||||
DisplaySettings m_displaySettings;
|
||||
bool m_annotationsrRight = true;
|
||||
MarginSettings m_marginSettings;
|
||||
@@ -1592,7 +1592,7 @@ void TextEditorWidgetPrivate::setDocument(const QSharedPointer<TextDocument> &do
|
||||
q->setDisplaySettings(TextEditorSettings::displaySettings());
|
||||
q->setCompletionSettings(TextEditorSettings::completionSettings());
|
||||
q->setExtraEncodingSettings(globalExtraEncodingSettings());
|
||||
q->setCodeStyle(TextEditorSettings::codeStyle(m_tabSettingsId));
|
||||
q->textDocument()->setCodeStyle(TextEditorSettings::codeStyle(m_tabSettingsId));
|
||||
|
||||
m_blockCount = doc->document()->blockCount();
|
||||
|
||||
@@ -7707,7 +7707,8 @@ void TextEditorWidgetPrivate::toggleBlockVisible(const QTextBlock &block)
|
||||
void TextEditorWidget::setLanguageSettingsId(Id settingsId)
|
||||
{
|
||||
d->m_tabSettingsId = settingsId;
|
||||
setCodeStyle(TextEditorSettings::codeStyle(settingsId));
|
||||
if (auto doc = textDocument())
|
||||
doc->setCodeStyle(TextEditorSettings::codeStyle(settingsId));
|
||||
}
|
||||
|
||||
Id TextEditorWidget::languageSettingsId() const
|
||||
@@ -7715,35 +7716,6 @@ Id TextEditorWidget::languageSettingsId() const
|
||||
return d->m_tabSettingsId;
|
||||
}
|
||||
|
||||
void TextEditorWidget::setCodeStyle(ICodeStylePreferences *preferences)
|
||||
{
|
||||
TextDocument *document = d->m_document.data();
|
||||
// Not fully initialized yet... wait for TextEditorWidgetPrivate::setupDocumentSignals
|
||||
if (!document)
|
||||
return;
|
||||
document->indenter()->setCodeStylePreferences(preferences);
|
||||
if (d->m_codeStylePreferences) {
|
||||
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
||||
document, &TextDocument::setTabSettings);
|
||||
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
||||
this, &TextEditorWidget::slotCodeStyleSettingsChanged);
|
||||
}
|
||||
d->m_codeStylePreferences = preferences;
|
||||
if (d->m_codeStylePreferences) {
|
||||
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
||||
document, &TextDocument::setTabSettings);
|
||||
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
||||
this, &TextEditorWidget::slotCodeStyleSettingsChanged);
|
||||
document->setTabSettings(d->m_codeStylePreferences->currentTabSettings());
|
||||
slotCodeStyleSettingsChanged(d->m_codeStylePreferences->currentValue());
|
||||
}
|
||||
}
|
||||
|
||||
void TextEditorWidget::slotCodeStyleSettingsChanged(const QVariant &)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
const DisplaySettings &TextEditorWidget::displaySettings() const
|
||||
{
|
||||
return d->m_displaySettings;
|
||||
|
@@ -319,8 +319,6 @@ public:
|
||||
void setLanguageSettingsId(Utils::Id settingsId);
|
||||
Utils::Id languageSettingsId() const;
|
||||
|
||||
void setCodeStyle(ICodeStylePreferences *settings);
|
||||
|
||||
const DisplaySettings &displaySettings() const;
|
||||
const MarginSettings &marginSettings() const;
|
||||
const BehaviorSettings &behaviorSettings() const;
|
||||
@@ -689,7 +687,6 @@ signals:
|
||||
|
||||
protected:
|
||||
virtual void slotCursorPositionChanged(); // Used in VcsBase
|
||||
virtual void slotCodeStyleSettingsChanged(const QVariant &); // Used in CppEditor
|
||||
|
||||
private:
|
||||
std::unique_ptr<Internal::TextEditorWidgetPrivate> d;
|
||||
|
Reference in New Issue
Block a user