TextEditor: Add an option to hide file line ending combobox

Change-Id: Iae8160f7cd567fc6d42116837fc367fa6dffdc4b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Alexander Akulich
2022-06-10 13:26:54 +03:00
parent 525ea8a1ec
commit 2bf46d9e7f
5 changed files with 25 additions and 5 deletions

View File

@@ -47,6 +47,7 @@ static const char autoFoldFirstCommentKey[] = "AutoFoldFirstComment";
static const char centerCursorOnScrollKey[] = "CenterCursorOnScroll";
static const char openLinksInNextSplitKey[] = "OpenLinksInNextSplitKey";
static const char displayFileEncodingKey[] = "DisplayFileEncoding";
static const char displayFileLineEndingKey[] = "DisplayFileLineEnding";
static const char scrollBarHighlightsKey[] = "ScrollBarHighlights";
static const char animateNavigationWithinFileKey[] = "AnimateNavigationWithinFile";
static const char animateWithinFileTimeMaxKey[] = "AnimateWithinFileTimeMax";
@@ -76,6 +77,7 @@ void DisplaySettings::toSettings(const QString &category, QSettings *s) const
s->setValue(QLatin1String(centerCursorOnScrollKey), m_centerCursorOnScroll);
s->setValue(QLatin1String(openLinksInNextSplitKey), m_openLinksInNextSplit);
s->setValue(QLatin1String(displayFileEncodingKey), m_displayFileEncoding);
s->setValue(QLatin1String(displayFileLineEndingKey), m_displayFileLineEnding);
s->setValue(QLatin1String(scrollBarHighlightsKey), m_scrollBarHighlights);
s->setValue(QLatin1String(animateNavigationWithinFileKey), m_animateNavigationWithinFile);
s->setValue(QLatin1String(displayAnnotationsKey), m_displayAnnotations);
@@ -105,6 +107,7 @@ void DisplaySettings::fromSettings(const QString &category, const QSettings *s)
m_centerCursorOnScroll = s->value(group + QLatin1String(centerCursorOnScrollKey), m_centerCursorOnScroll).toBool();
m_openLinksInNextSplit = s->value(group + QLatin1String(openLinksInNextSplitKey), m_openLinksInNextSplit).toBool();
m_displayFileEncoding = s->value(group + QLatin1String(displayFileEncodingKey), m_displayFileEncoding).toBool();
m_displayFileLineEnding = s->value(group + QLatin1String(displayFileLineEndingKey), m_displayFileLineEnding).toBool();
m_scrollBarHighlights = s->value(group + QLatin1String(scrollBarHighlightsKey), m_scrollBarHighlights).toBool();
m_animateNavigationWithinFile = s->value(group + QLatin1String(animateNavigationWithinFileKey), m_animateNavigationWithinFile).toBool();
m_animateWithinFileTimeMax = s->value(group + QLatin1String(animateWithinFileTimeMaxKey), m_animateWithinFileTimeMax).toInt();
@@ -131,6 +134,7 @@ bool DisplaySettings::equals(const DisplaySettings &ds) const
&& m_openLinksInNextSplit == ds.m_openLinksInNextSplit
&& m_forceOpenLinksInNextSplit == ds.m_forceOpenLinksInNextSplit
&& m_displayFileEncoding == ds.m_displayFileEncoding
&& m_displayFileLineEnding == ds.m_displayFileLineEnding
&& m_scrollBarHighlights == ds.m_scrollBarHighlights
&& m_animateNavigationWithinFile == ds.m_animateNavigationWithinFile
&& m_animateWithinFileTimeMax == ds.m_animateWithinFileTimeMax

View File

@@ -69,6 +69,7 @@ public:
bool m_openLinksInNextSplit = false;
bool m_forceOpenLinksInNextSplit = false;
bool m_displayFileEncoding = false;
bool m_displayFileLineEnding = true;
bool m_scrollBarHighlights = true;
bool m_animateNavigationWithinFile = false;
int m_animateWithinFileTimeMax = 333; // read only setting

View File

@@ -102,6 +102,7 @@ void DisplaySettingsWidget::settingsFromUI(DisplaySettings &displaySettings,
displaySettings.m_centerCursorOnScroll = m_ui.centerOnScroll->isChecked();
displaySettings.m_openLinksInNextSplit = m_ui.openLinksInNextSplit->isChecked();
displaySettings.m_displayFileEncoding = m_ui.displayFileEncoding->isChecked();
displaySettings.m_displayFileLineEnding = m_ui.displayFileLineEnding->isChecked();
displaySettings.m_scrollBarHighlights = m_ui.scrollBarHighlights->isChecked();
displaySettings.m_animateNavigationWithinFile = m_ui.animateNavigationWithinFile->isChecked();
displaySettings.m_displayAnnotations = m_ui.displayAnnotations->isChecked();
@@ -135,6 +136,7 @@ void DisplaySettingsWidget::settingsToUI()
m_ui.centerOnScroll->setChecked(displaySettings.m_centerCursorOnScroll);
m_ui.openLinksInNextSplit->setChecked(displaySettings.m_openLinksInNextSplit);
m_ui.displayFileEncoding->setChecked(displaySettings.m_displayFileEncoding);
m_ui.displayFileLineEnding->setChecked(displaySettings.m_displayFileLineEnding);
m_ui.scrollBarHighlights->setChecked(displaySettings.m_scrollBarHighlights);
m_ui.animateNavigationWithinFile->setChecked(displaySettings.m_animateNavigationWithinFile);
m_ui.displayAnnotations->setChecked(displaySettings.m_displayAnnotations);

View File

@@ -97,6 +97,13 @@
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="displayFileLineEnding">
<property name="text">
<string>Display file line ending</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="animateMatchingParentheses">
<property name="text">
@@ -170,7 +177,7 @@
</property>
</widget>
</item>
<item row="7" column="1">
<item row="8" column="0">
<widget class="QCheckBox" name="animateNavigationWithinFile">
<property name="text">
<string>Animate navigation within file</string>

View File

@@ -640,6 +640,7 @@ public:
void slotSelectionChanged();
void _q_animateUpdate(const QTextCursor &cursor, QPointF lastPos, QRectF rect);
void updateCodeFoldingVisible();
void updateFileLineEndingVisible();
void reconfigure();
void updateSyntaxInfoBar(const Highlighter::Definitions &definitions, const QString &fileName);
@@ -952,10 +953,9 @@ TextEditorWidgetPrivate::TextEditorWidgetPrivate(TextEditorWidget *parent)
m_fileLineEnding->addItems(ExtraEncodingSettings::lineTerminationModeNames());
m_fileLineEnding->setContentsMargins(spacing, 0, spacing, 0);
m_fileLineEndingAction = m_toolBar->addWidget(m_fileLineEnding);
m_fileLineEndingAction->setVisible(!q->isReadOnly());
connect(q, &TextEditorWidget::readOnlyChanged, this, [this] {
m_fileLineEndingAction->setVisible(!q->isReadOnly());
});
updateFileLineEndingVisible();
connect(q, &TextEditorWidget::readOnlyChanged,
this, &TextEditorWidgetPrivate::updateFileLineEndingVisible);
m_fileEncodingLabel = new FixedSizeClickLabel;
m_fileEncodingLabel->setContentsMargins(spacing, 0, spacing, 0);
@@ -3225,6 +3225,11 @@ void TextEditorWidgetPrivate::updateCodeFoldingVisible()
}
}
void TextEditorWidgetPrivate::updateFileLineEndingVisible()
{
m_fileLineEndingAction->setVisible(m_displaySettings.m_displayFileLineEnding && !q->isReadOnly());
}
void TextEditorWidgetPrivate::reconfigure()
{
m_document->setMimeType(Utils::mimeTypeForFile(m_document->filePath()).name());
@@ -7211,6 +7216,7 @@ void TextEditorWidget::setDisplaySettings(const DisplaySettings &ds)
}
d->updateCodeFoldingVisible();
d->updateFileLineEndingVisible();
d->updateHighlights();
d->setupScrollBar();
viewport()->update();