*
* \author John Levon
* \author Angus Leeming
- * \author Herbert Voss
+ * \author Herbert Voß
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "ControlBibtex.h"
-#include "Kernel.h"
+
+#include "buffer.h"
+#include "bufferparams.h"
+
+#include "lyxrc.h"
#include "helper_funcs.h"
#include "tex_helpers.h"
-
-#include "funcrequest.h"
#include "gettext.h"
-#include "lyxrc.h"
#include "support/filetools.h"
-
-using namespace lyx::support;
+#include "support/globbing.h"
using std::pair;
+using std::string;
using std::vector;
-ControlBibtex::ControlBibtex(Dialog & d)
- : Dialog::Controller(d)
-{}
+namespace lyx {
+using support::FileFilterList;
+using support::OnlyFilename;
-bool ControlBibtex::initialiseParams(string const & data)
-{
- InsetBibtexMailer::string2params(data, kernel().buffer(), params_);
- return true;
-}
+namespace frontend {
-void ControlBibtex::clearParams()
-{
- params_.erase();
-}
+ControlBibtex::ControlBibtex(Dialog & d)
+ : ControlCommand(d, "bibtex")
+{}
-void ControlBibtex::dispatchParams()
+string const ControlBibtex::browseBib(string const & in_name) const
{
- string const lfun =
- InsetBibtexMailer::params2string(params_, kernel().buffer());
- kernel().dispatch(FuncRequest(LFUN_INSET_APPLY, lfun));
+ pair<string, string> dir1(_("Documents|#o#O"),
+ string(lyxrc.document_path));
+ FileFilterList const filter(_("BibTeX Databases (*.bib)"));
+ return browseRelFile(in_name, kernel().bufferFilepath(),
+ _("Select a BibTeX database to add"),
+ filter, false, dir1);
}
-string const ControlBibtex::Browse(string const & in_name,
- string const & title,
- string const & pattern)
+string const ControlBibtex::browseBst(string const & in_name) const
{
pair<string, string> dir1(_("Documents|#o#O"),
string(lyxrc.document_path));
+ FileFilterList const filter(_("BibTeX Styles (*.bst)"));
return browseRelFile(in_name, kernel().bufferFilepath(),
- title, pattern, false, dir1);
+ _("Select a BibTeX style"), filter, false, dir1);
}
for (; it != end; ++it) {
*it = OnlyFilename(*it);
}
- std::sort(data.begin(), end);
-
- // Add an empy string to the list.
- data.insert(data.begin(), " ");
}
{
rescanTexStyles();
}
+
+
+bool ControlBibtex::usingBibtopic() const
+{
+ return kernel().buffer().params().use_bibtopic;
+}
+
+} // namespace frontend
+} // namespace lyx