We don't need to rescan everything from the BibTeX dialog, just

the bib and bst files.
This commit is contained in:
Richard Heck 2012-05-01 12:54:17 -04:00
parent 9825621798
commit d2acacedf9
3 changed files with 11 additions and 8 deletions

View File

@ -484,7 +484,7 @@ QStringList GuiBibtex::bibFiles() const
void GuiBibtex::rescanBibStyles() const
{
rescanTexStyles();
rescanTexStyles("bst bib");
}

View File

@ -210,20 +210,21 @@ QString const qt_(string const & str)
}
void rescanTexStyles()
void rescanTexStyles(string const & arg)
{
// Run rescan in user lyx directory
PathChanger p(package().user_support());
FileName const command = support::libFileSearch("scripts", "TeXFiles.py");
FileName const prog = support::libFileSearch("scripts", "TeXFiles.py");
Systemcall one;
int const status = one.startscript(Systemcall::Wait,
os::python() + ' ' +
quoteName(command.toFilesystemEncoding()));
string const command = os::python() + ' ' +
quoteName(prog.toFilesystemEncoding()) + ' ' +
arg;
int const status = one.startscript(Systemcall::Wait, command);
if (status == 0)
return;
// FIXME UNICODE
frontend::Alert::error(_("Could not update TeX information"),
bformat(_("The script `%1$s' failed."), from_utf8(command.absFileName())));
bformat(_("The script `%1$s' failed."), from_utf8(prog.absFileName())));
}

View File

@ -127,8 +127,10 @@ QString browseRelToSub(QString const & filename,
/** Build filelists of all availabe bst/cls/sty-files. Done through
* kpsewhich and an external script, saved in *Files.lst.
* \param arg: cls, sty, bst, or bib, as required by TeXFiles.py.
* Can be a list of these, too.
*/
void rescanTexStyles();
void rescanTexStyles(std::string const & arg = empty_string());
/** Fill \c contents from one of the three texfiles.
* Each entry in the file list is returned as a name_with_path