forked from qt-creator/qt-creator
SelectableTextEditorWidget: Handle display settings
Avoid code repetition inside UnifiedDiffEditorWidget and SideDiffEditorWidget. Connect to display settings changed signal and apply all but 4 settings (which are not desired for diff editor). Change-Id: If4ae7f7c55690dac04fd1a00f8822db666a9ce2b Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -55,7 +55,7 @@ public:
|
||||
|
||||
void setFolded(int blockNumber, bool folded);
|
||||
|
||||
void setDisplaySettings(const DisplaySettings &ds) override;
|
||||
void setDisplaySettings(const DisplaySettings &displaySettings) override;
|
||||
|
||||
SideDiffData diffData() const { return m_data; }
|
||||
void setDiffData(const SideDiffData &data) { m_data = data; }
|
||||
@@ -119,13 +119,6 @@ private:
|
||||
SideDiffEditorWidget::SideDiffEditorWidget(QWidget *parent)
|
||||
: SelectableTextEditorWidget("DiffEditor.SideDiffEditor", parent)
|
||||
{
|
||||
DisplaySettings settings = displaySettings();
|
||||
settings.m_textWrapping = false;
|
||||
settings.m_displayLineNumbers = true;
|
||||
settings.m_markTextChanges = false;
|
||||
settings.m_highlightBlocks = false;
|
||||
SelectableTextEditorWidget::setDisplaySettings(settings);
|
||||
|
||||
connect(this, &TextEditorWidget::tooltipRequested, this, [this](const QPoint &point, int position) {
|
||||
const int block = document()->findBlock(position).blockNumber();
|
||||
const auto it = m_data.m_fileInfo.constFind(block);
|
||||
@@ -139,7 +132,6 @@ SideDiffEditorWidget::SideDiffEditorWidget(QWidget *parent)
|
||||
if (documentLayout)
|
||||
connect(documentLayout, &TextDocumentLayout::foldChanged,
|
||||
this, &SideDiffEditorWidget::foldChanged);
|
||||
setCodeFoldingSupported(true);
|
||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
}
|
||||
|
||||
@@ -176,14 +168,9 @@ void SideDiffEditorWidget::setFolded(int blockNumber, bool folded)
|
||||
documentLayout->emitDocumentSizeChanged();
|
||||
}
|
||||
|
||||
void SideDiffEditorWidget::setDisplaySettings(const DisplaySettings &ds)
|
||||
void SideDiffEditorWidget::setDisplaySettings(const DisplaySettings &displaySettings)
|
||||
{
|
||||
DisplaySettings settings = displaySettings();
|
||||
settings.m_visualizeWhitespace = ds.m_visualizeWhitespace;
|
||||
settings.m_displayFoldingMarkers = ds.m_displayFoldingMarkers;
|
||||
settings.m_scrollBarHighlights = ds.m_scrollBarHighlights;
|
||||
settings.m_highlightCurrentLine = ds.m_highlightCurrentLine;
|
||||
SelectableTextEditorWidget::setDisplaySettings(settings);
|
||||
SelectableTextEditorWidget::setDisplaySettings(displaySettings);
|
||||
emit gotDisplaySettings();
|
||||
}
|
||||
|
||||
@@ -714,8 +701,6 @@ SideBySideDiffEditorWidget::SideBySideDiffEditorWidget(QWidget *parent)
|
||||
{
|
||||
auto setupEditor = [this](DiffSide side) {
|
||||
m_editor[side] = new SideDiffEditorWidget(this);
|
||||
m_editor[side]->setReadOnly(true);
|
||||
m_editor[side]->setCodeStyle(TextEditorSettings::codeStyle());
|
||||
|
||||
connect(m_editor[side], &SideDiffEditorWidget::jumpToOriginalFileRequested,
|
||||
this, std::bind(&SideBySideDiffEditorWidget::jumpToOriginalFileRequested, this,
|
||||
|
||||
Reference in New Issue
Block a user