]> git.lyx.org Git - lyx.git/blobdiff - src/TextClass.cpp
Hebrew translation updates by Ran
[lyx.git] / src / TextClass.cpp
index 88b23487b7bc9a7dc84e79eb69beed2d862e9cde..8205704e4e97eee11d26e184dc7d33bc08571323 100644 (file)
@@ -61,7 +61,7 @@ private:
 };
 
 
-int const FORMAT = 7;
+int const FORMAT = 8;
 
 
 bool layout2layout(FileName const & filename, FileName const & tempfile)
@@ -182,7 +182,8 @@ enum TextClassTags {
        TC_TITLELATEXNAME,
        TC_TITLELATEXTYPE,
        TC_FORMAT,
-       TC_ADDTOPREAMBLE
+       TC_ADDTOPREAMBLE,
+       TC_USEMODULE
 };
 
 
@@ -213,7 +214,8 @@ namespace {
                { "style",           TC_STYLE },
                { "titlelatexname",  TC_TITLELATEXNAME },
                { "titlelatextype",  TC_TITLELATEXTYPE },
-               { "tocdepth",        TC_TOCDEPTH }
+               { "tocdepth",        TC_TOCDEPTH },
+               { "usemodule",       TC_USEMODULE }
        };
        
 } //namespace anon
@@ -222,7 +224,7 @@ namespace {
 bool TextClass::convertLayoutFormat(support::FileName const & filename, ReadType rt)
 {
        LYXERR(Debug::TCLASS, "Converting layout file to " << FORMAT);
-               FileName const tempfile = FileName::tempName();
+               FileName const tempfile = FileName::tempName("convert_layout");
                bool success = layout2layout(filename, tempfile);
                if (success)
                        success = read(tempfile, rt);
@@ -285,10 +287,10 @@ bool TextClass::read(std::string const & str, ReadType rt)
                return retval == OK;
 
        // write the layout string to a temporary file
-       FileName const tempfile = FileName::tempName();
+       FileName const tempfile = FileName::tempName("TextClass_read");
        ofstream os(tempfile.toFilesystemEncoding().c_str());
        if (!os) {
-               LYXERR0("Unable to create tempoary file");
+               LYXERR0("Unable to create temporary file");
                return false;
        }
        os << str;
@@ -491,6 +493,13 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
                        break;
                }
 
+               case TC_USEMODULE: {
+                       lexrc.next();
+                       string const module = lexrc.getString();
+                       usemod_.insert(module);
+                       break;
+               }
+
                case TC_LEFTMARGIN:     // left margin type
                        if (lexrc.next())
                                leftmargin_ = lexrc.getDocString();
@@ -997,6 +1006,8 @@ void DocumentClass::addLayoutIfNeeded(docstring const & n) const
 
 InsetLayout const & DocumentClass::insetLayout(docstring const & name) const 
 {
+       // FIXME The fix for the InsetLayout part of 4812 would be here:
+       // Add the InsetLayout to the document class if it is not found.
        docstring n = name;
        InsetLayouts::const_iterator cen = insetlayoutlist_.end();
        while (!n.empty()) {