From c4b7ef0bd0aef72fd1efe0818a7b7ee47992e8e1 Mon Sep 17 00:00:00 2001 From: Richard Heck Date: Wed, 15 Sep 2010 17:44:52 +0000 Subject: [PATCH] Automatic CSS for left and right margins, too. Fixes indentation problem with LyXCode environment. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35401 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/Layout.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/Layout.cpp b/src/Layout.cpp index 83bd608687..fd4709e356 100644 --- a/src/Layout.cpp +++ b/src/Layout.cpp @@ -1010,9 +1010,9 @@ string Layout::defaultCSSClass() const namespace { - string makeMarginValue(double d) { + string makeMarginValue(char const * side, double d) { ostringstream os; - os << d << "ex"; + os << "margin-" << side << ": " << d << "ex;\n"; return os.str(); } } @@ -1027,12 +1027,23 @@ void Layout::makeDefaultCSS() const { // main font htmldefaultstyle_ = font.asCSS(); - // top and bottom margins + // bottom margins string tmp; if (topsep > 0) - tmp += "margin-top: " + makeMarginValue(topsep) + ";\n"; + tmp += makeMarginValue("top", topsep); if (bottomsep > 0) - tmp += "margin-bottom: " + makeMarginValue(bottomsep) + ";\n"; + tmp += makeMarginValue("bottom", bottomsep); + if (!leftmargin.empty()) { + // we can't really do what LyX does with the margin, so + // we'll just figure out how many characters it is + int const len = leftmargin.length(); + tmp += makeMarginValue("left", len); + } + if (!rightmargin.empty()) { + int const len = rightmargin.length(); + tmp += makeMarginValue("right", len); + } + if (!tmp.empty()) { if (!htmldefaultstyle_.empty()) htmldefaultstyle_ += from_ascii("\n"); -- 2.39.2