]> git.lyx.org Git - lyx.git/blobdiff - src/bufferparams.C
Fixed cut&paste bugs and added freespacing for ERT Insets.
[lyx.git] / src / bufferparams.C
index 157b69fe550f1dfdb6e351eaeb0ddd70b70ff9a6..9143c03fc3a20a9545f6ad96ef7c8659f4e6f08c 100644 (file)
@@ -89,8 +89,9 @@ void BufferParams::writeFile(ostream & os) const
        }
    
        /* then the text parameters */
-       os << "\\language " << language->lang()
-          << "\n\\inputencoding " << inputenc
+       if (language != ignore_language)
+               os << "\\language " << language->lang() << '\n';
+       os << "\\inputencoding " << inputenc
           << "\n\\fontscheme " << fonts
           << "\n\\graphics " << graphicsDriver << '\n';
 
@@ -176,7 +177,35 @@ void BufferParams::writeFile(ostream & os) const
 }
 
 
-void BufferParams::useClassDefaults() {
+void BufferParams::setPaperStuff()
+{
+       papersize = PAPER_DEFAULT;
+       char const c1 = paperpackage;
+       if (c1 == PACKAGE_NONE) {
+               char const c2 = papersize2;
+               if (c2 == VM_PAPER_USLETTER)
+                       papersize = PAPER_USLETTER;
+               else if (c2 == VM_PAPER_USLEGAL)
+                       papersize = PAPER_LEGALPAPER;
+               else if (c2 == VM_PAPER_USEXECUTIVE)
+                       papersize = PAPER_EXECUTIVEPAPER;
+               else if (c2 == VM_PAPER_A3)
+                       papersize = PAPER_A3PAPER;
+               else if (c2 == VM_PAPER_A4)
+                       papersize = PAPER_A4PAPER;
+               else if (c2 == VM_PAPER_A5)
+                       papersize = PAPER_A5PAPER;
+               else if ((c2 == VM_PAPER_B3) || (c2 == VM_PAPER_B4) ||
+                        (c2 == VM_PAPER_B5))
+                       papersize = PAPER_B5PAPER;
+       } else if ((c1 == PACKAGE_A4) || (c1 == PACKAGE_A4WIDE) ||
+                  (c1 == PACKAGE_WIDEMARGINSA4))
+               papersize = PAPER_A4PAPER;
+}
+
+
+void BufferParams::useClassDefaults()
+{
        LyXTextClass const & tclass = textclasslist.TextClass(textclass);
 
        sides = tclass.sides();
@@ -188,9 +217,22 @@ void BufferParams::useClassDefaults() {
 }
 
 
+bool BufferParams::hasClassDefaults() const
+{
+       LyXTextClass const & tclass = textclasslist.TextClass(textclass);
+       
+       return (sides == tclass.sides()
+               && columns == tclass.columns()
+               && pagestyle == tclass.pagestyle()
+               && options == tclass.options()
+               && secnumdepth == tclass.secnumdepth()
+               && tocdepth == tclass.tocdepth());
+}
+
+
 void BufferParams::readPreamble(LyXLex & lex)
 {
-       if (lex.GetString() != "\\begin_preamble")
+       if (lex.getString() != "\\begin_preamble")
                lyxerr << "Error (BufferParams::readPreamble):"
                        "consistency check failed." << endl;
 
@@ -202,7 +244,7 @@ void BufferParams::readLanguage(LyXLex & lex)
 {
        if (!lex.next()) return;
        
-       string const tmptok = lex.GetString();
+       string const tmptok = lex.getString();
 
        // check if tmptok is part of tex_babel in tex-defs.h
        language = languages.getLanguage(tmptok);
@@ -220,7 +262,7 @@ void BufferParams::readGraphicsDriver(LyXLex & lex)
 {
        if (!lex.next()) return;
        
-       string const tmptok = lex.GetString();
+       string const tmptok = lex.getString();
        // check if tmptok is part of tex_graphics in tex_defs.h
        int n = 0;
        while (true) {