* Bug 10455 fixed: helpbrowser improved
[scilab.git] / scilab / modules / helptools / macros / helpbrowser_update.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 //
3 // Copyright (C) 2020 - Samuel GOUGEON
4 //
5 // This file is hereby licensed under the terms of the GNU GPL v2.0,
6 // pursuant to article 5.3.4 of the CeCILL v.2.1.
7 // This file was originally licensed under the terms of the CeCILL v2.1,
8 // and continues to be available under such terms.
9 // For more information, see the COPYING file which you should have received
10 // along with this program.
11
12 function helpbrowser_update(startup)
13     // Internal called by add_help_chapter() and atomsLoad()
14
15   if or(getscilabmode()==["STD" "NW"])
16       jimport org.scilab.modules.gui.helpbrowser.ScilabHelpBrowser
17       hb = ScilabHelpBrowser.getHelpBrowserWithoutCreation()
18       global %helps
19       if ~isempty(hb)
20           if isdef("startup", "l")
21               // for scilab.start
22               id = xmlGetValues("//Setting/Profile/HelpBrowser","index",SCIHOME+"/configuration.xml")
23               // No way to retrieve as well the helpbrowser language, if it's
24               // different from the session's one.
25               help(id)
26           else
27               // for atomsLoad and add_help_chapter
28               id = hb.getCurrentID()
29               // Get the current language of the browser
30               jar = hb.getCurrentURL()
31               [?,?,?,lang] = regexp(jar, "/scilab_([a-z]{2}_[A-Z]{2})_help\.jar/", "o")
32               if lang=="en_US" // it may be a default external page in en_US,
33                                // despite the browser is in another language
34                   help("ones") // We are sure this page is translated
35                   jar = hb.getCurrentURL();
36                   [?,?,?,lang] = regexp(jar, "/scilab_([a-z]{2}_[A-Z]{2})_help\.jar/", "o")
37               end
38               // Update the browser
39               helpbrowser(%helps(:,1), id, lang, %f)
40           end
41       end
42       jremove hb ScilabHelpBrowser
43   end
44
45 endfunction