]> git.lyx.org Git - lyx.git/blobdiff - src/insets/InsetInfo.cpp
Properly fix handling of title layouts within insets (#11787)
[lyx.git] / src / insets / InsetInfo.cpp
index f9309c118c9a4ee9f7b1f426f2d5f2d78b89795c..0847106dc01e3025c0997f13d2f0f0fdac076543 100644 (file)
@@ -168,7 +168,7 @@ set<string> getTexFileList(string const & filename)
        return list;
 }
 
-bool translateString(docstring const in, docstring & out, string const lcode)
+bool translateString(docstring const & in, docstring & out, string const & lcode)
 {
        out = translateIfPossible(in, lcode);
        return in != out;
@@ -176,7 +176,7 @@ bool translateString(docstring const in, docstring & out, string const lcode)
 } // namespace anon
 
 
-docstring InsetInfoParams::getDate(string const iname, QDate const date) const
+docstring InsetInfoParams::getDate(string const iname, QDate const date) const
 {
        QLocale loc;
        if (lang)
@@ -201,7 +201,7 @@ docstring InsetInfoParams::getDate(string const iname, QDate const date) const
 }
 
 
-docstring InsetInfoParams::getTime(string const iname, QTime const time) const
+docstring InsetInfoParams::getTime(string const iname, QTime const time) const
 {
        QLocale loc;
        if (lang)
@@ -278,6 +278,7 @@ vector<pair<string,docstring>> InsetInfoParams::getArguments(Buffer const * buf,
                        break;
                }
                result.push_back(make_pair("revision", _("Revision[[Version Control]]")));
+               result.push_back(make_pair("revision-abbrev", _("Abbreviated revision[[Version Control]]")));
                result.push_back(make_pair("tree-revision", _("Tree revision")));
                result.push_back(make_pair("author", _("Author")));
                result.push_back(make_pair("date", _("Date")));
@@ -385,7 +386,7 @@ bool InsetInfoParams::validateArgument(Buffer const * buf, docstring const & arg
                        || name == "path" || name == "class");
 
        case VCS_INFO:
-               if (name == "revision" || name == "tree-revision"
+               if (name == "revision" || name == "revision-abbrev" || name == "tree-revision"
                    || name == "author" || name == "date" || name == "time")
                        return buf->lyxvc().inUse();
                return false;
@@ -529,6 +530,8 @@ docstring InsetInfo::toolTip(BufferView const &, int, int) const
        case InsetInfoParams::VCS_INFO:
                if (params_.name == "revision")
                        result = _("Version control revision");
+               else if (params_.name == "revision-abbrev")
+                       result = _("Version control abbreviated revision");
                else if (params_.name == "tree-revision")
                        result = _("Version control tree revision");
                else if (params_.name == "author")
@@ -740,13 +743,21 @@ void InsetInfo::setText(docstring const & str, Language const * lang)
 }
 
 
-bool InsetInfo::forceLTR() const
+bool InsetInfo::forceLTR(OutputParams const &) const
 {
        return params_.force_ltr;
 }
 
 
-void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype) {
+bool InsetInfo::forceLocalFontSwitch() const
+{
+       return params_.type == InsetInfoParams::MENU_INFO
+               || params_.type == InsetInfoParams::SHORTCUTS_INFO
+               || params_.type == InsetInfoParams::L7N_INFO;
+}
+
+
+void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype, bool const deleted) {
        // If the Buffer is a clone, then we neither need nor want to do any
        // of what follows. We want, rather, just to inherit how things were
        // in the original Buffer. This is especially important for VCS.
@@ -1034,14 +1045,6 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype) {
                initialized_ = true;
                FuncRequest func = lyxaction.lookupFunc(params_.name);
                docstring icon_name = frontend::Application::iconName(func, true);
-               // FIXME: We should use the icon directly instead of
-               // going through FileName. The code below won't work
-               // if the icon is embedded in the executable through
-               // the Qt resource system.
-               // This is only a negligible performance problem:
-               // If the installed icon differs from the resource icon the
-               // installed one is preferred anyway, and all icons that are
-               // embedded in the resources are installed as well.
                FileName file(to_utf8(icon_name));
                if (file.onlyFileNameWithoutExt() == "unknown") {
                        string dir = "images";
@@ -1099,6 +1102,8 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype) {
                LyXVC::RevisionInfo itype = LyXVC::Unknown;
                if (params_.name == "revision")
                        itype = LyXVC::File;
+               else if (params_.name == "revision-abbrev")
+                       itype = LyXVC::FileAbbrev;
                else if (params_.name == "tree-revision")
                        itype = LyXVC::Tree;
                else if (params_.name == "author")
@@ -1163,7 +1168,7 @@ void InsetInfo::updateBuffer(ParIterator const & it, UpdateType utype) {
 
        // Just to do something with that string
        LYXERR(Debug::INFO, "info inset text: " << gui);
-       InsetCollapsible::updateBuffer(it, utype);
+       InsetCollapsible::updateBuffer(it, utype, deleted);
 }