]> git.lyx.org Git - lyx.git/blobdiff - src/Layout.cpp
* src/LaTeXFeatures.cpp: simplify greektext definition. Patch by G. Milde (bug #6458)
[lyx.git] / src / Layout.cpp
index f38d60b0973d27d25668e9a253676b5c9598778d..7a26c8cf65a6a640dc66204fe187d4ee801f4a3a 100644 (file)
@@ -16,7 +16,7 @@
 #include "Language.h"
 #include "TextClass.h"
 #include "Lexer.h"
-#include "Font.h"
+#include "FontInfo.h"
 
 #include "support/Messages.h"
 #include "support/debug.h"
@@ -101,7 +101,11 @@ enum LayoutTags {
        LT_HTMLLABELFIRST,
        LT_HTMLPREAMBLE,
        LT_HTMLSTYLE,
-       LT_HTMLFORCEDEFAULT,
+       LT_HTMLFORCECSS,
+       LT_INPREAMBLE,
+       LT_HTMLTITLE,
+       LT_SPELLCHECK,
+       LT_REFPREFIX,
        LT_INTITLE // keep this last!
 };
 
@@ -113,6 +117,7 @@ Layout::Layout()
        margintype = MARGIN_STATIC;
        latextype = LATEX_PARAGRAPH;
        intitle = false;
+       inpreamble = false;
        optionalargs = 0;
        needprotect = false;
        keepempty = false;
@@ -141,7 +146,9 @@ Layout::Layout()
        toclevel = NOT_IN_TOC;
        commanddepth = 0;
        htmllabelfirst_ = false;
-       htmlforcedefault_ = false;
+       htmlforcecss_ = false;
+       htmltitle_ = false;
+       spellcheck = true;
 }
 
 
@@ -165,7 +172,7 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "font",           LT_FONT },
                { "freespacing",    LT_FREE_SPACING },
                { "htmlattr",       LT_HTMLATTR },
-               { "htmlforcedefault", LT_HTMLFORCEDEFAULT },
+               { "htmlforcecss",   LT_HTMLFORCECSS },
                { "htmlitem",       LT_HTMLITEM },
                { "htmlitemattr",   LT_HTMLITEMATTR },
                { "htmllabel",      LT_HTMLLABEL },
@@ -174,7 +181,9 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "htmlpremable",   LT_HTMLPREAMBLE },
                { "htmlstyle",      LT_HTMLSTYLE },
                { "htmltag",        LT_HTMLTAG },
+               { "htmltitle",      LT_HTMLTITLE },
                { "innertag",       LT_INNERTAG },
+               { "inpreamble",     LT_INPREAMBLE },
                { "intitle",        LT_INTITLE },
                { "itemsep",        LT_ITEMSEP },
                { "itemtag",        LT_ITEMTAG },
@@ -204,9 +213,11 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                { "parskip",        LT_PARSKIP },
                { "passthru",       LT_PASS_THRU },
                { "preamble",       LT_PREAMBLE },
+               { "refprefix",      LT_REFPREFIX },
                { "requires",       LT_REQUIRES },
                { "rightmargin",    LT_RIGHTMARGIN },
                { "spacing",        LT_SPACING },
+               { "spellcheck",     LT_SPELLCHECK },
                { "textfont",       LT_TEXTFONT },
                { "toclevel",       LT_TOCLEVEL },
                { "topsep",         LT_TOPSEP }
@@ -300,6 +311,10 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                        lex >> intitle;
                        break;
 
+               case LT_INPREAMBLE:
+                       lex >> inpreamble;
+                       break;
+
                case LT_TOCLEVEL:
                        lex >> toclevel;
                        break;
@@ -484,6 +499,10 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                        requires_.insert(req.begin(), req.end());
                        break;
                }
+                       
+               case LT_REFPREFIX:
+                       lex >> refprefix;
+                       break;
 
                case LT_HTMLTAG:
                        lex >> htmltag_;
@@ -517,13 +536,20 @@ bool Layout::read(Lexer & lex, TextClass const & tclass)
                        htmlstyle_ = from_utf8(lex.getLongString("EndHTMLStyle"));
                        break;
 
-               case LT_HTMLFORCEDEFAULT:
-                       lex >> htmlforcedefault_;
+               case LT_HTMLFORCECSS:
+                       lex >> htmlforcecss_;
 
                case LT_HTMLPREAMBLE:
                        htmlpreamble_ = from_utf8(lex.getLongString("EndPreamble"));
                        break;
+               
+               case LT_HTMLTITLE:
+                       lex >> htmltitle_;
+                       break;
 
+               case LT_SPELLCHECK:
+                       lex >> spellcheck;
+                       break;
                }
        }
        lex.popTable();
@@ -918,7 +944,7 @@ string const & Layout::htmllabelattr() const
 
 
 docstring Layout::htmlstyle() const {
-       if (!htmlstyle_.empty() && !htmlforcedefault_)
+       if (!htmlstyle_.empty() && !htmlforcecss_)
                return htmlstyle_;
        if (htmldefaultstyle_.empty()) 
                makeDefaultCSS();
@@ -955,10 +981,6 @@ string Layout::defaultCSSClass() const
 // sorts of margins or padding, for example. But for now we are
 // going to keep it simple.
 void Layout::makeDefaultCSS() const {
-#ifdef TEX2LYX
-       // tex2lyx does not have FontInfo::asCSS()
-       return;
-#else
        // this never needs to be redone, since reloading layouts will
        // wipe out what we did before.
        if (!htmldefaultstyle_.empty()) 
@@ -975,7 +997,6 @@ void Layout::makeDefaultCSS() const {
                htmldefaultstyle_ +=
                        from_ascii(htmllabeltag() + "." + defaultCSSLabelClass() + " {\n") +
                        labelfontCSS + from_ascii("\n}\n");
-#endif
 }