]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInfo.cpp
Fix assertion when checking if change in selection
[lyx.git] / src / insets / InsetInfo.cpp
index 54b8cf090e84ad031567c142f7d5c705a4e4a439..d6c68ed6b2eaf3b93af4ea8d3260a3fc6a0fb952 100644 (file)
@@ -157,9 +157,9 @@ set<string> getTexFileList(string const & filename)
 
        // Normalise paths like /foo//bar ==> /foo/bar
        for (auto doc : doclist) {
-               subst(doc, from_ascii("\r"), docstring());
+               doc = subst(doc, from_ascii("\r"), docstring());
                while (contains(doc, from_ascii("//")))
-                       subst(doc, from_ascii("//"), from_ascii("/"));
+                       doc = subst(doc, from_ascii("//"), from_ascii("/"));
                if (!doc.empty())
                        list.insert(removeExtension(onlyFileName(to_utf8(doc))));
        }
@@ -182,11 +182,14 @@ docstring InsetInfoParams::getDate(string const iname, QDate const date) const
        else if (iname == "ISO")
                return qstring_to_ucs4(date.toString(Qt::ISODate));
        else if (iname == "loclong")
-               return qstring_to_ucs4(loc.toString(date, toqstr(lang->dateFormat(0))));
+               return lang ? qstring_to_ucs4(loc.toString(date, toqstr(lang->dateFormat(0))))
+                           : _("No long date format (language unknown)!");
        else if (iname == "locmedium")
-               return qstring_to_ucs4(loc.toString(date, toqstr(lang->dateFormat(1))));
+               return lang ? qstring_to_ucs4(loc.toString(date, toqstr(lang->dateFormat(1))))
+                           : _("No medium date format (language unknown)!");
        else if (iname == "locshort")
-               return qstring_to_ucs4(loc.toString(date, toqstr(lang->dateFormat(2))));
+               return lang ? qstring_to_ucs4(loc.toString(date, toqstr(lang->dateFormat(2))))
+                               : _("No short date format (language unknown)!");
        else
                return qstring_to_ucs4(loc.toString(date, toqstr(iname)));
 }
@@ -278,6 +281,7 @@ vector<pair<string,docstring>> InsetInfoParams::getArguments(Buffer const * buf,
 
        case LYX_INFO:
                result.push_back(make_pair("version", _("LyX version")));
+               result.push_back(make_pair("layoutformat", _("LyX layout format")));
                break;
 
        case FIXDATE_INFO:
@@ -381,7 +385,7 @@ bool InsetInfoParams::validateArgument(Buffer const * buf, docstring const & arg
                return false;
 
        case LYX_INFO:
-               return name == "version";
+               return name == "version" || name == "layoutformat";
 
        case FIXDATE_INFO: {
                string date;
@@ -529,7 +533,10 @@ docstring InsetInfo::toolTip(BufferView const &, int, int) const
                        result = _("Version control time");
                break;
        case InsetInfoParams::LYX_INFO:
-               result = _("The current LyX version");
+               if (params_.name == "version")
+                       result = _("The current LyX version");
+               else if (params_.name == "layoutformat")
+                       result = _("The current LyX layout format");
                break;
        case InsetInfoParams::DATE_INFO:
                result = _("The current date");
@@ -1081,6 +1088,8 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype) {
                        break;
                if (params_.name == "version")
                        setText(from_ascii(lyx_version), params_.lang);
+               else if (params_.name == "layoutformat")
+                       setText(convert<docstring>(LAYOUT_FORMAT), params_.lang);
                initialized_ = true;
                break;
        case InsetInfoParams::DATE_INFO: