]> git.lyx.org Git - lyx.git/blobdiff - src/insets/ExternalTemplate.C
* BufferParams:
[lyx.git] / src / insets / ExternalTemplate.C
index 482a0663dbf7e567bd6c341c3649d9bae607e2a1..b27255d48dabffac411b0459834242459655f2eb 100644 (file)
 
 #include "support/filetools.h"
 #include "support/lstrings.h"
+#include "support/package.h"
 #include "support/path.h"
-#include "support/path_defines.h"
-
-namespace support = lyx::support;
 
 using std::endl;
 using std::for_each;
-
 using std::string;
 using std::ostream;
 using std::vector;
 
-
 namespace lyx {
 namespace external {
 
-namespace {
 
 typedef Translator<TransformID, string> TransformIDTranslator;
-TransformIDTranslator const & transformIDTranslator();
 
-} // namespace anon
+static TransformIDTranslator const initIDTranslator()
+{
+       TransformIDTranslator translator(TransformID(-1), "");
+       translator.addPair(Rotate, "Rotate");
+       translator.addPair(Resize, "Resize");
+       translator.addPair(Clip,   "Clip");
+       translator.addPair(Extra,  "Extra");
+       return translator;
+}
 
+static TransformIDTranslator const & transformIDTranslator()
+{
+       static TransformIDTranslator const translator = initIDTranslator();
+       return translator;
+}
 
 // We have to have dummy default commands for security reasons!
 Template::Template()
@@ -54,7 +61,7 @@ Template::Format::Format()
 
 TemplateManager::TemplateManager()
 {
-       readTemplates(support::user_lyxdir());
+       readTemplates(support::package().user_support());
        if (lyxerr.debugging(Debug::EXTERNAL)) {
                dumpPreambleDefs(lyxerr);
                lyxerr << '\n';
@@ -126,8 +133,14 @@ public:
                ost << "\tFormat " << vt.first << '\n'
                    << "\t\tProduct " << ft.product << '\n'
                    << "\t\tUpdateFormat " << ft.updateFormat << '\n'
-                   << "\t\tUpdateResult " << ft.updateResult << '\n'
-                   << "\t\tRequirement " << ft.requirement << '\n';
+                   << "\t\tUpdateResult " << ft.updateResult << '\n';
+
+               vector<string>::const_iterator qit = ft.requirements.begin();
+               vector<string>::const_iterator qend = ft.requirements.end();
+               for (; qit != qend; ++qit) {
+                       lyxerr << "req:" << *qit << std::endl;
+                       ost << "\t\tRequirement " << *qit << '\n';
+               }
 
                typedef vector<Template::Option> Options;
                Options::const_iterator oit  = ft.options.begin();
@@ -240,7 +253,7 @@ void TemplateManager::readTemplates(string const & path)
 
        LyXLex lex(templatetags, TM_TEMPLATE_END);
 
-       string filename = support::LibFileSearch("", "external_templates");
+       support::FileName const filename = support::libFileSearch("", "external_templates");
        if (filename.empty() || !lex.setFile(filename)) {
                lex.printError("external::TemplateManager::readTemplates: "
                               "No template file");
@@ -502,7 +515,7 @@ void Template::Format::readFormat(LyXLex & lex)
 
                case FO_REQUIREMENT:
                        lex.next(true);
-                       requirement = lex.getString();
+                       requirements.push_back(lex.getString());
                        break;
 
                case FO_PREAMBLE:
@@ -550,26 +563,5 @@ void Template::Format::readFormat(LyXLex & lex)
        }
 }
 
-namespace {
-
-TransformIDTranslator const initIDTranslator()
-{
-       TransformIDTranslator translator(TransformID(-1), "");
-       translator.addPair(Rotate, "Rotate");
-       translator.addPair(Resize, "Resize");
-       translator.addPair(Clip,   "Clip");
-       translator.addPair(Extra,  "Extra");
-       return translator;
-}
-
-
-TransformIDTranslator const & transformIDTranslator()
-{
-       static TransformIDTranslator const translator = initIDTranslator();
-       return translator;
-}
-
-} // namespace anon
-
 } // namespace external
 } // namespace lyx