Allow using icon names in InsetInfo

Currently, only lfun names are accepeted but there are cases in which
the lfun name does not map directly to an icon. Fore example, in the
outliner, the icon named "promote" is used for the lfun outline-out.
As a result, a graphics inset is used in the documentation for describing
the corresponding icon. Now one can also use an icon name. The argument
of "info-isert icon" is firstly lookep up as an lfun. If no corresponding
icon is found, the argument is taken as the name of the icon. If no such
icon exists, the "unknown" icon is used.
This commit is contained in:
Enrico Forestieri 2015-03-28 12:45:20 +01:00
parent 7789f3eb37
commit 0f0750a65a
2 changed files with 7 additions and 1 deletions

View File

@ -418,7 +418,7 @@ void LyXAction::init()
package: name of latex package (e.g. listings) \n package: name of latex package (e.g. listings) \n
textclass: name of textclass (e.g. article) \n textclass: name of textclass (e.g. article) \n
menu: name of lfun used in menu \n menu: name of lfun used in menu \n
icon: icon of lfun used in toolbar \n icon: icon of lfun used in toolbar or direct icon name\n
buffer: "name"|"path"|"class"|"vcs-tree-revision"| buffer: "name"|"path"|"class"|"vcs-tree-revision"|
"vcs-revision"|"vcs-author"|"vcs-date"|"vcs-time" "vcs-revision"|"vcs-author"|"vcs-date"|"vcs-time"
* \li Sample: command-sequence info-insert buffer path; info-insert buffer name * \li Sample: command-sequence info-insert buffer path; info-insert buffer name

View File

@ -410,6 +410,12 @@ void InsetInfo::updateInfo()
// installed one is preferred anyway, and all icons that are // installed one is preferred anyway, and all icons that are
// embedded in the resources are installed as well. // embedded in the resources are installed as well.
FileName file(to_utf8(icon_name)); FileName file(to_utf8(icon_name));
if (file.onlyFileNameWithoutExt() == "unknown") {
string dir = "images";
FileName file2(imageLibFileSearch(dir, name_, "svgz,png"));
if (!file2.empty())
file = file2;
}
if (!file.exists()) if (!file.exists())
break; break;
int percent_scale = 100; int percent_scale = 100;