]> git.lyx.org Git - lyx.git/blobdiff - src/bufferparams.C
citation patch from Angus
[lyx.git] / src / bufferparams.C
index 8dc2e25e37488e2c0f46a4d35ac6dbe213fff0c2..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 "support/lyxlib.h"
 #include "support/lstrings.h"
 #include "lyxrc.h"
+#include "language.h"
 
-extern LyXRC * lyxrc;
+using std::ostream;
+using std::endl;
 
 BufferParams::BufferParams()
 {
@@ -49,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;
@@ -59,7 +62,6 @@ BufferParams::BufferParams()
                user_defined_bullets[iter] = temp_bullets[iter] 
                                           = ITEMIZE_DEFAULTS[iter];
        }
-       allowAccents = false;
 }
 
 
@@ -198,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;   
-               }      
+               }
        }
 }
 
@@ -247,10 +248,3 @@ void BufferParams::readGraphicsDriver(LyXLex & lex)
                }      
        }
 }
-
-
-LyXDirection BufferParams::getDocumentDirection() const
-{
-       return (lyxrc->rtl_support && language == "hebrew")
-               ? LYX_DIR_RIGHT_TO_LEFT : LYX_DIR_LEFT_TO_RIGHT;
-}