commit 0f0750a65a7782a5723e8be6af0896b94c448068
Author: Enrico Forestieri <[email protected]>
Date: Sat Mar 28 12:45:20 2015 +0100
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.
diff --git a/src/LyXAction.cpp b/src/LyXAction.cpp
index 8505940..4ac1a0e 100644
--- a/src/LyXAction.cpp
+++ b/src/LyXAction.cpp
@@ -418,7 +418,7 @@ void LyXAction::init()
package: name of latex package (e.g. listings) \n
textclass: name of textclass (e.g. article) \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"|
"vcs-revision"|"vcs-author"|"vcs-date"|"vcs-time"
* \li Sample: command-sequence info-insert buffer path; info-insert buffer
name
diff --git a/src/insets/InsetInfo.cpp b/src/insets/InsetInfo.cpp
index 98fe7d7..acf073a 100644
--- a/src/insets/InsetInfo.cpp
+++ b/src/insets/InsetInfo.cpp
@@ -410,6 +410,12 @@ void InsetInfo::updateInfo()
// 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";
+ FileName file2(imageLibFileSearch(dir, name_,
"svgz,png"));
+ if (!file2.empty())
+ file = file2;
+ }
if (!file.exists())
break;
int percent_scale = 100;