forked from qt-creator/qt-creator
SideBySideDiffEditor: Synchronize left and right foldings
Change-Id: I2ff13db98981edf17190870c4d3ecea0113c8f3e Reviewed-by: David Schulz <david.schulz@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -68,7 +68,6 @@ signals:
|
|||||||
int diffFileIndex,
|
int diffFileIndex,
|
||||||
int chunkIndex,
|
int chunkIndex,
|
||||||
const ChunkSelection &selection);
|
const ChunkSelection &selection);
|
||||||
void foldChanged(int blockNumber, bool folded);
|
|
||||||
void gotDisplaySettings();
|
void gotDisplaySettings();
|
||||||
void gotFocus();
|
void gotFocus();
|
||||||
|
|
||||||
@@ -128,10 +127,6 @@ SideDiffEditorWidget::SideDiffEditorWidget(QWidget *parent)
|
|||||||
ToolTip::hide();
|
ToolTip::hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
auto documentLayout = qobject_cast<TextDocumentLayout*>(document()->documentLayout());
|
|
||||||
if (documentLayout)
|
|
||||||
connect(documentLayout, &TextDocumentLayout::foldChanged,
|
|
||||||
this, &SideDiffEditorWidget::foldChanged);
|
|
||||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -774,11 +769,6 @@ SideBySideDiffEditorWidget::SideBySideDiffEditorWidget(QWidget *parent)
|
|||||||
this, &SideBySideDiffEditorWidget::setFontSettings);
|
this, &SideBySideDiffEditorWidget::setFontSettings);
|
||||||
setFontSettings(TextEditorSettings::fontSettings());
|
setFontSettings(TextEditorSettings::fontSettings());
|
||||||
|
|
||||||
connect(m_editor[LeftSide], &SideDiffEditorWidget::foldChanged,
|
|
||||||
m_editor[RightSide], &SideDiffEditorWidget::setFolded);
|
|
||||||
connect(m_editor[RightSide], &SideDiffEditorWidget::foldChanged,
|
|
||||||
m_editor[LeftSide], &SideDiffEditorWidget::setFolded);
|
|
||||||
|
|
||||||
syncHorizontalScrollBarPolicy();
|
syncHorizontalScrollBarPolicy();
|
||||||
|
|
||||||
m_splitter = new MiniSplitter(this);
|
m_splitter = new MiniSplitter(this);
|
||||||
@@ -911,6 +901,16 @@ void SideBySideDiffEditorWidget::showDiff()
|
|||||||
m_editor[LeftSide]->setReadOnly(true);
|
m_editor[LeftSide]->setReadOnly(true);
|
||||||
m_editor[RightSide]->setReadOnly(true);
|
m_editor[RightSide]->setReadOnly(true);
|
||||||
}
|
}
|
||||||
|
auto leftDocumentLayout = qobject_cast<TextDocumentLayout*>(
|
||||||
|
m_editor[LeftSide]->document()->documentLayout());
|
||||||
|
auto rightDocumentLayout = qobject_cast<TextDocumentLayout*>(
|
||||||
|
m_editor[RightSide]->document()->documentLayout());
|
||||||
|
if (leftDocumentLayout && rightDocumentLayout) {
|
||||||
|
connect(leftDocumentLayout, &TextDocumentLayout::foldChanged,
|
||||||
|
m_editor[RightSide], &SideDiffEditorWidget::setFolded);
|
||||||
|
connect(rightDocumentLayout, &TextDocumentLayout::foldChanged,
|
||||||
|
m_editor[LeftSide], &SideDiffEditorWidget::setFolded);
|
||||||
|
}
|
||||||
m_editor[LeftSide]->setSelections(results[LeftSide].selections);
|
m_editor[LeftSide]->setSelections(results[LeftSide].selections);
|
||||||
m_editor[RightSide]->setSelections(results[RightSide].selections);
|
m_editor[RightSide]->setSelections(results[RightSide].selections);
|
||||||
setCurrentDiffFileIndex(m_controller.currentDiffFileIndex());
|
setCurrentDiffFileIndex(m_controller.currentDiffFileIndex());
|
||||||
|
Reference in New Issue
Block a user