]> git.lyx.org Git - lyx.git/blobdiff - src/BufferParams.cpp
do what the FIXME suggested
[lyx.git] / src / BufferParams.cpp
index 3425efe4f3ab0783dcf06a3f86a31d6a1bc9fb0f..7c84bfa21f4d4afb52f41286c7501f85c299cc5c 100644 (file)
@@ -283,7 +283,7 @@ public:
         */
        VSpace defskip;
        PDFOptions pdfoptions;
-       BaseClassIndex baseClass_;
+       LayoutFileIndex baseClass_;
 };
 
 
@@ -466,7 +466,7 @@ string const BufferParams::readToken(Lexer & lex, string const & token,
                string tcp;
                BaseClassList & bcl = BaseClassList::get();
                if (!filepath.empty())
-                       tcp = bcl.addTextClass(classname, filepath.absFilename());
+                       tcp = bcl.addLayoutFile(classname, filepath.absFilename());
                if (!tcp.empty())
                        setBaseClass(tcp);
                else if (bcl.haveClass(classname)) {
@@ -479,7 +479,7 @@ string const BufferParams::readToken(Lexer & lex, string const & token,
                // FIXME: this warning will be given even if there exists a local .cls
                // file. Even worse, the .lyx file can not be compiled or exported
                // because the textclass is marked as unavilable.
-               if (!documentClass().isTeXClassAvailable()) {
+               if (!baseClass()->isTeXClassAvailable()) {
                        docstring const msg =
                                bformat(_("The layout file requested by this document,\n"
                                                 "%1$s.layout,\n"
@@ -1386,22 +1386,18 @@ void BufferParams::setDocumentClass(DocumentClass const * const tc) {
 
 bool BufferParams::setBaseClass(string const & classname)
 {
-       string localtc = classname;
+       LYXERR(Debug::TCLASS, "setBaseClass: " << classname);
        BaseClassList const & bcl = BaseClassList::get();
-       if (!bcl.haveClass(localtc)) {
-               // OK, let's try again assuming it's a local file
-               localtc = BaseClassList::localPrefix + localtc;
-               if (!bcl.haveClass(localtc)) {
-                       docstring s = 
-                               bformat(_("The document class %1$s could not be found."),
-                               from_utf8(classname));
-                       frontend::Alert::error(_("Class not found"), s);
-                       return false;
-               }
+       if (!bcl.haveClass(classname)) {
+               docstring s = 
+                       bformat(_("The document class %1$s could not be found."),
+                       from_utf8(classname));
+               frontend::Alert::error(_("Class not found"), s);
+               return false;
        }
 
-       if (bcl[localtc].load()) {
-               pimpl_->baseClass_ = localtc;
+       if (bcl[classname].load()) {
+               pimpl_->baseClass_ = classname;
                return true;
        }
        
@@ -1413,7 +1409,7 @@ bool BufferParams::setBaseClass(string const & classname)
 }
 
 
-TextClass const * BufferParams::baseClass() const
+LayoutFile const * BufferParams::baseClass() const
 {
        if (BaseClassList::get().haveClass(pimpl_->baseClass_))
                return &(BaseClassList::get()[pimpl_->baseClass_]);
@@ -1422,7 +1418,7 @@ TextClass const * BufferParams::baseClass() const
 }
 
 
-BaseClassIndex const & BufferParams::baseClassID() const
+LayoutFileIndex const & BufferParams::baseClassID() const
 {
        return pimpl_->baseClass_;
 }