]> git.lyx.org Git - lyx.git/blobdiff - src/TextClass.cpp
Revert "Objective-C compililation support with cmake and C++11"
[lyx.git] / src / TextClass.cpp
index a4f0857c285fd6b3dd357c5a65eed26c1ee9953a..5b9632d4d2f94cd31e9f84071aebdbbd635674f1 100644 (file)
@@ -61,7 +61,7 @@ namespace lyx {
 // development/tools/updatelayouts.sh script, to update the format of
 // all of our layout files.
 //
-int const LAYOUT_FORMAT = 46; // gb: New Tag "ForceLocal"
+int const LAYOUT_FORMAT = 49; //gb: change default of ResetsFont
 
 namespace {
 
@@ -197,6 +197,7 @@ enum TextClassTags {
        TC_HTMLSTYLES,
        TC_PROVIDES,
        TC_REQUIRES,
+       TC_PKGOPTS,
        TC_LEFTMARGIN,
        TC_RIGHTMARGIN,
        TC_FLOAT,
@@ -218,7 +219,7 @@ enum TextClassTags {
        TC_CITEENGINETYPE,
        TC_CITEFORMAT,
        TC_DEFAULTBIBLIO,
-       TC_FULLAUTHORLIST,
+       TC_FULLAUTHORLIST
 };
 
 
@@ -256,6 +257,7 @@ LexerKeyword textClassTags[] = {
        { "nostyle",           TC_NOSTYLE },
        { "outputformat",      TC_OUTPUTFORMAT },
        { "outputtype",        TC_OUTPUTTYPE },
+       { "packageoptions",        TC_PKGOPTS },
        { "pagestyle",         TC_PAGESTYLE },
        { "preamble",          TC_PREAMBLE },
        { "provides",          TC_PROVIDES },
@@ -634,6 +636,15 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
                        break;
                }
 
+               case TC_PKGOPTS : {
+                       lexrc.next();
+                       string const pkg = lexrc.getString();
+                       lexrc.next();
+                       string const options = lexrc.getString();
+                       package_options_[pkg] = options;
+                       break;
+               }
+
                case TC_DEFAULTMODULE: {
                        lexrc.next();
                        string const module = lexrc.getString();
@@ -1478,7 +1489,8 @@ Layout TextClass::createBasicLayout(docstring const & name, bool unknown) const
 
 
 DocumentClassPtr getDocumentClass(
-               LayoutFile const & baseClass, LayoutModuleList const & modlist)
+               LayoutFile const & baseClass, LayoutModuleList const & modlist,
+               bool const clone)
 {
        DocumentClassPtr doc_class =
            DocumentClassPtr(new DocumentClass(baseClass));
@@ -1493,10 +1505,11 @@ DocumentClassPtr getDocumentClass(
                                                "this document but has not been found in the list of\n"
                                                "available modules. If you recently installed it, you\n"
                                                "probably need to reconfigure LyX.\n"), from_utf8(modName));
-                       frontend::Alert::warning(_("Module not available"), msg);
+                       if (!clone)
+                               frontend::Alert::warning(_("Module not available"), msg);
                        continue;
                }
-               if (!lm->isAvailable()) {
+               if (!lm->isAvailable() && !clone) {
                        docstring const prereqs = from_utf8(getStringFromVector(lm->prerequisites(), "\n\t"));
                        docstring const msg =
                                bformat(_("The module %1$s requires a package that is not\n"