-// FIXME: Move to Converters?
-vector<Format const *> GuiSendTo::allFormats() const
-{
- // What formats can we output natively?
- vector<string> exports;
- exports.push_back("lyx");
- exports.push_back("text");
-
- if (buffer().isLatex()) {
- if (buffer().params().useXetex)
- exports.push_back("xetex");
- else {
- exports.push_back("latex");
- exports.push_back("pdflatex");
- }
- }
- else if (buffer().isDocBook())
- exports.push_back("docbook");
- else if (buffer().isLiterate())
- exports.push_back("literate");
-
- // Loop over these native formats and ascertain what formats we
- // can convert to
- vector<Format const *> to;
-
- vector<string>::const_iterator ex_it = exports.begin();
- vector<string>::const_iterator ex_end = exports.end();
- for (; ex_it != ex_end; ++ex_it) {
- // Start off with the native export format.
- // "formats" is LyX's list of recognised formats
- to.push_back(formats.getFormat(*ex_it));
-
- Formats::const_iterator fo_it = formats.begin();
- Formats::const_iterator fo_end = formats.end();
- for (; fo_it != fo_end; ++fo_it) {
- // we need to hide the default graphic export formats
- // from the external menu, because we need them only
- // for the internal lyx-view and external latex run
- string const name = fo_it->name();
- if (name != "eps" && name != "xpm" && name != "png" &&
- theConverters().isReachable(*ex_it, name))
- to.push_back(&(*fo_it));
- }
- }
-
- // Remove repeated formats.
- sort(to.begin(), to.end());
- to.erase(unique(to.begin(), to.end()), to.end());
-
- return to;
-}
-
-