]> git.lyx.org Git - lyx.git/blobdiff - src/Format.cpp
tex2lyx/preamble.cpp: revert r39962 (the string initialization was already reverted)
[lyx.git] / src / Format.cpp
index 13c8cfff7a1dec6e87ad5037da9e553ce269b715..1ae3960163de695bcb9457bf14bec40842ecf342 100644 (file)
@@ -77,23 +77,32 @@ private:
        string extension_;
 };
 
+
+class FormatPrettyNameEqual : public unary_function<Format, bool> {
+public:
+       FormatPrettyNameEqual(string const & prettyname)
+               : prettyname_(prettyname) {}
+       bool operator()(Format const & f) const
+       {
+               return f.prettyname() == prettyname_;
+       }
+private:
+       string prettyname_;
+};
+
 } //namespace anon
 
 
 bool operator<(Format const & a, Format const & b)
 {
-       // use the compare_ascii_no_case instead of compare_no_case,
-       // because in turkish, 'i' is not the lowercase version of 'I',
-       // and thus turkish locale breaks parsing of tags.
-
-       return compare_ascii_no_case(a.prettyname(), b.prettyname()) < 0;
+       return _(a.prettyname()) < _(b.prettyname());
 }
 
 
 Format::Format(string const & n, string const & e, string const & p,
               string const & s, string const & v, string const & ed,
               int flags)
-       : name_(n), extensions_(e), prettyname_(p), shortcut_(s), viewer_(v),
+       : name_(n), prettyname_(p), shortcut_(s), viewer_(v),
          editor_(ed), flags_(flags)
 {
        extension_list_ = getVectorFromString(e, ",");
@@ -107,6 +116,12 @@ bool Format::dummy() const
 }
 
 
+string const Format::extensions() const
+{
+       return getStringFromVector(extension_list_, ", ");
+}
+
+
 bool Format::hasExtension(string const & e) const
 {
        return (find(extension_list_.begin(), extension_list_.end(), e)
@@ -130,7 +145,6 @@ string const Format::parentFormat() const
 
 void Format::setExtensions(string const & e)
 {
-       extensions_ = e;
        extension_list_ = getVectorFromString(e, ",");
 }
 
@@ -191,6 +205,19 @@ string Formats::getFormatFromExtension(string const & ext) const
 }
 
 
+string Formats::getFormatFromPrettyName(string const & prettyname) const
+{
+       if (!prettyname.empty()) {
+               Formats::const_iterator cit =
+                       find_if(formatlist.begin(), formatlist.end(),
+                               FormatPrettyNameEqual(prettyname));
+               if (cit != formats.end())
+                       return cit->name();
+       }
+       return string();
+}
+
+
 /// Used to store last timestamp of file and whether it is (was) zipped
 struct ZippedInfo {
        bool zipped;