]> git.lyx.org Git - lyx.git/blobdiff - src/bufferparams.C
citation patch from Angus
[lyx.git] / src / bufferparams.C
index 27a1d2378436ffeda573584e9d64fc50486c5ff1..158463fe90253f3d9007d8c041dd04aa8ffc0103 100644 (file)
@@ -4,7 +4,7 @@
  *           LyX, The Document Processor
  *      
  *          Copyright 1995 Matthias Ettrich
- *           Copyright 1995-1999 The LyX Team.
+ *           Copyright 1995-2000 The LyX Team.
  *
  * ====================================================== */
 
 #include "debug.h"
 #include "support/lyxlib.h"
 #include "support/lstrings.h"
+#include "lyxrc.h"
+#include "language.h"
+
+using std::ostream;
+using std::endl;
 
 BufferParams::BufferParams()
 {
@@ -46,8 +51,9 @@ BufferParams::BufferParams()
        secnumdepth = 3;
        tocdepth = 3;
        language = "default";
+       language_info = default_language;
        fonts = "default";
-       inputenc = "latin1";
+       inputenc = "auto";
        graphicsDriver = "default";
        sides = LyXTextClass::OneSide;
        columns = 1;
@@ -56,11 +62,10 @@ BufferParams::BufferParams()
                user_defined_bullets[iter] = temp_bullets[iter] 
                                           = ITEMIZE_DEFAULTS[iter];
        }
-       allowAccents = false;
 }
 
 
-void BufferParams::writeFile(ostream & os)
+void BufferParams::writeFile(ostream & os) const
 {
        // The top of the file is written by the buffer.
        // Prints out the buffer info into the .lyx file given by file
@@ -71,9 +76,9 @@ void BufferParams::writeFile(ostream & os)
        // then the the preamble
        if (!preamble.empty()) {
                // remove '\n' from the end of preamble
-               preamble = strip(preamble, '\n');
+               string tmppreamble = strip(preamble, '\n');
                os << "\\begin_preamble\n"
-                  << preamble
+                  << tmppreamble
                   << "\n\\end_preamble\n";
        }
       
@@ -195,24 +200,23 @@ void BufferParams::readLanguage(LyXLex & lex)
        if (!lex.next()) return;
        
        string tmptok = lex.GetString();
-       string test;
-       int n = 0;
+
        // check if tmptok is part of tex_babel in tex-defs.h
-       while (true) {
-               test = tex_babel[n++];
-               
-               if (test == tmptok) {
-                       language = tmptok;
-                       break;
-               }
-               else if (test.empty()) {
+       Languages::iterator lit = languages.find(tmptok);
+       if (lit != languages.end()) {
+               // found it
+               language = tmptok;
+               language_info = &(*lit).second;
+       } else {
+               // not found
+               language = "default";
+               language_info = default_language;
+               if (tmptok != "default") {
                        lyxerr << "Warning: language `"
                               << tmptok << "' not recognized!\n"
                               << "         Setting language to `default'."
                               << endl;
-                       language = "default";
-                       break;   
-               }      
+               }
        }
 }