*
* \author Angus Leeming
* \author John Levon
- * \author Herbert Voss
+ * \author Herbert Voß
* \author Rob Lahaye
*
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
*/
-
#include <config.h>
-#include "xformsBC.h"
-#include "ControlBibtex.h"
+
#include "FormBibtex.h"
+#include "ControlBibtex.h"
#include "forms/form_bibtex.h"
+
#include "Tooltips.h"
#include "xforms_helpers.h"
-#include FORMS_H_LOCATION
+#include "xformsBC.h"
-#include "helper_funcs.h"
-#include "gettext.h"
-#include "support/lstrings.h"
#include "support/filetools.h"
+#include "support/lstrings.h"
#include "support/lyxalgo.h"
+#include "lyx_forms.h"
+
+using lyx::support::ChangeExtension;
+using lyx::support::compare;
+using lyx::support::contains;
+using lyx::support::getStringFromVector;
+using lyx::support::getVectorFromString;
+using lyx::support::OnlyFilename;
+using lyx::support::prefixIs;
+using lyx::support::split;
using std::vector;
-using std::sort;
+using std::string;
typedef FormController<ControlBibtex, FormView<FD_bibtex> > base_class;
dialog_.reset(build_bibtex(this));
// Manage the ok, apply, restore and cancel/close buttons
- bc().setOK(dialog_->button_ok);
- bc().setApply(dialog_->button_apply);
- bc().setCancel(dialog_->button_close);
- bc().setRestore(dialog_->button_restore);
+ bcview().setOK(dialog_->button_ok);
+ bcview().setApply(dialog_->button_apply);
+ bcview().setCancel(dialog_->button_close);
+ bcview().setRestore(dialog_->button_restore);
// disable for read-only documents
- bc().addReadOnly(dialog_->input_database);
- bc().addReadOnly(dialog_->button_database_browse);
- bc().addReadOnly(dialog_->button_style_browse);
- bc().addReadOnly(dialog_->button_rescan);
- bc().addReadOnly(dialog_->input_style);
- bc().addReadOnly(dialog_->check_bibtotoc);
+ bcview().addReadOnly(dialog_->input_database);
+ bcview().addReadOnly(dialog_->button_database_browse);
+ bcview().addReadOnly(dialog_->button_style_browse);
+ bcview().addReadOnly(dialog_->button_rescan);
+ bcview().addReadOnly(dialog_->input_style);
+ bcview().addReadOnly(dialog_->check_bibtotoc);
// trigger an input event for cut&paste with middle mouse button.
setPrehandler(dialog_->input_database);
str = _("Double click to choose a BibTeX style from the list.");
tooltips().init(dialog_->browser_styles, str);
+
+#if FL_VERSION == 0 || (FL_REVISION == 0 && FL_FIXLEVEL == 0)
// Work-around xforms' bug; enable tooltips for browser widgets.
setPrehandler(dialog_->browser_styles);
+#endif
str = _("Updates your TeX system for a new bibstyle list. Only "
"the styles which are in directories where TeX finds them "
} else if (ob == dialog_->button_rescan) {
fl_clear_browser(dialog_->browser_styles);
controller().rescanBibStyles();
- string const str =
- controller().getBibStyles();
- fl_add_browser_line(dialog_->browser_styles, str.c_str());
+ vector<string> styles;
+ controller().getBibStyles(styles);
+ fl_add_browser_line(dialog_->browser_styles,
+ getStringFromVector(styles, "\n").c_str());
}
// with an empty database nothing makes sense ...
}
fl_set_input(dialog_->input_style, bibstyle.c_str());
+ vector<string> styles;
+ controller().getBibStyles(styles);
+
fl_clear_browser(dialog_->browser_styles);
- string const str = controller().getBibStyles();
- fl_add_browser_line(dialog_->browser_styles, str.c_str());
+ fl_add_browser_line(dialog_->browser_styles,
+ getStringFromVector(styles, "\n").c_str());
}
namespace {