mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-21 23:09:40 +00:00
Keep the useful parts of reverted commits
Keep from 907f0207 the introduction of BufferView::top/bottomMargin() and the setting of the top/bottom margin of the document. The difference is that the extra height is still added to the relevant rows, and not only to the paragraph metrics. Keep from f41ca959 the reduction of top/bottom margin for Adv F&R workareas.
This commit is contained in:
parent
a40ca1430e
commit
090e9a6c36
@ -349,6 +349,20 @@ int BufferView::leftMargin() const
|
||||
}
|
||||
|
||||
|
||||
int BufferView::topMargin() const
|
||||
{
|
||||
// Original value was 20px at 100dpi. For internal buffers like in
|
||||
// advanced search and replace, a value of 5px is enough.
|
||||
return zoomedPixels(buffer().isInternal() ? 5 : 20);
|
||||
}
|
||||
|
||||
|
||||
int BufferView::bottomMargin() const
|
||||
{
|
||||
return topMargin();
|
||||
}
|
||||
|
||||
|
||||
int BufferView::inPixels(Length const & len) const
|
||||
{
|
||||
Font const font = buffer().params().getFont();
|
||||
|
@ -102,9 +102,12 @@ public:
|
||||
|
||||
/// right margin
|
||||
int rightMargin() const;
|
||||
|
||||
/// left margin
|
||||
int leftMargin() const;
|
||||
/// top margin
|
||||
int topMargin() const;
|
||||
/// bottom margin
|
||||
int bottomMargin() const;
|
||||
|
||||
docstring const & searchRequestCache() const;
|
||||
void setSearchRequestCache(docstring const & text);
|
||||
|
@ -581,37 +581,29 @@ bool TextMetrics::redoParagraph(pit_type const pit, bool const align_rows)
|
||||
}
|
||||
}
|
||||
|
||||
// The space above and below the paragraph.
|
||||
int top = parTopSpacing(pit);
|
||||
int bottom = parBottomSpacing(pit);
|
||||
|
||||
// Top and bottom margin of the document (only at top-level)
|
||||
// FIXME: It might be better to move this in another method
|
||||
// specially tailored for the main text.
|
||||
// Top and bottom margin of the document (only at top-level)
|
||||
if (text_->isMainText()) {
|
||||
// original value was 20px, which is 0.2in at 100dpi
|
||||
int const margin = bv_->zoomedPixels(20);
|
||||
if (pit == 0) {
|
||||
pm.rows().front().dim().asc += margin;
|
||||
/* coverity thinks that we should update pm.dim().asc
|
||||
* below, but all the rows heights are actually counted as
|
||||
* part of the paragraph metric descent see loop above).
|
||||
*/
|
||||
// coverity[copy_paste_error]
|
||||
pm.dim().des += margin;
|
||||
}
|
||||
ParagraphList const & pars = text_->paragraphs();
|
||||
if (pit + 1 == pit_type(pars.size())) {
|
||||
pm.rows().back().dim().des += margin;
|
||||
pm.dim().des += margin;
|
||||
if (pit == 0)
|
||||
top += bv_->topMargin();
|
||||
if (pit + 1 == pit_type(text_->paragraphs().size())) {
|
||||
bottom += bv_->bottomMargin();
|
||||
}
|
||||
}
|
||||
|
||||
// The space above and below the paragraph.
|
||||
int const top = parTopSpacing(pit);
|
||||
// Add the top/bottom space to rows and paragraph metrics
|
||||
pm.rows().front().dim().asc += top;
|
||||
int const bottom = parBottomSpacing(pit);
|
||||
pm.rows().back().dim().des += bottom;
|
||||
pm.dim().des += top + bottom;
|
||||
|
||||
pm.dim().asc += pm.rows()[0].ascent();
|
||||
pm.dim().des -= pm.rows()[0].ascent();
|
||||
// Move the pm ascent to be the same as the first row ascent
|
||||
pm.dim().asc += pm.rows().front().ascent();
|
||||
pm.dim().des -= pm.rows().front().ascent();
|
||||
|
||||
changed |= old_dim.height() != pm.dim().height();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user