2 * \file ControlBibtex.C
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
7 * \author Angus Leeming
10 * Full author contact details are available in file CREDITS.
15 #include "ControlBibtex.h"
18 #include "bufferparams.h"
21 #include "helper_funcs.h"
22 #include "tex_helpers.h"
25 #include "support/filetools.h"
26 #include "support/globbing.h"
28 using lyx::support::FileFilterList;
29 using lyx::support::OnlyFilename;
36 ControlBibtex::ControlBibtex(Dialog & d)
37 : ControlCommand(d, "bibtex")
41 string const ControlBibtex::browse(string const & in_name,
43 FileFilterList const & filters) const
45 pair<string, string> dir1(_("Documents|#o#O"),
46 string(lyxrc.document_path));
47 return browseRelFile(in_name, kernel().bufferFilepath(),
48 title, filters, false, dir1);
52 void ControlBibtex::getBibStyles(vector<string> & data) const
56 getTexFileList("bstFiles.lst", data);
57 // test, if we have a valid list, otherwise run rescan
60 getTexFileList("bstFiles.lst", data);
62 vector<string>::iterator it = data.begin();
63 vector<string>::iterator end = data.end();
64 for (; it != end; ++it) {
65 *it = OnlyFilename(*it);
70 void ControlBibtex::getBibFiles(vector<string> & data) const
74 getTexFileList("bibFiles.lst", data);
75 // test, if we have a valid list, otherwise run rescan
78 getTexFileList("bibFiles.lst", data);
80 vector<string>::iterator it = data.begin();
81 vector<string>::iterator end = data.end();
82 for (; it != end; ++it) {
83 *it = OnlyFilename(*it);
88 void ControlBibtex::rescanBibStyles() const
94 bool ControlBibtex::usingBibtopic() const
96 return kernel().buffer().params().use_bibtopic;