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;

Reply via email to