Show backends rather than formats in the View>Source combo box.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40900 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Richard Heck 2012-03-09 22:24:20 +00:00
parent 02f28635d3
commit fa0c2d9631
3 changed files with 24 additions and 12 deletions

View File

@ -3309,6 +3309,12 @@ void Buffer::getSourceCode(odocstream & os, string const format,
XHTMLStream xs(os);
setMathFlavor(runparams);
xhtmlParagraphs(text(), *this, xs, runparams);
} else if (runparams.flavor == OutputParams::TEXT) {
bool dummy;
// FIXME Handles only one paragraph, unlike the others.
// Probably should have some routine with a signature like them.
writePlaintextParagraph(*this,
text().paragraphs()[par_begin], os, runparams, dummy);
} else {
// latex or literate
otexstream ots(os, texrow);

View File

@ -2172,6 +2172,8 @@ OutputParams::FLAVOR BufferParams::getOutputFlavor(string const format) const
if (dformat == "xhtml")
result = OutputParams::HTML;
else if (dformat == "text")
result = OutputParams::TEXT;
else {
// Try to determine flavor of default output format
vector<string> backs = backends();

View File

@ -197,19 +197,23 @@ void ViewSourceWidget::updateDefaultFormat()
outputFormatCO->addItem(qt_("Default"),
QVariant(QString("default")));
int index = 0;
typedef vector<Format const *> Formats;
Formats formats = bv_->buffer().params().exportableFormats(true);
Formats::const_iterator cit = formats.begin();
Formats::const_iterator end = formats.end();
for (; cit != end; ++cit) {
QString const fname = toqstr((*cit)->name());
outputFormatCO->addItem(qt_((*cit)->prettyname()),
QVariant(fname));
if (fname == view_format_)
index = outputFormatCO->count() -1;
vector<string> tmp = bv_->buffer().params().backends();
vector<string>::const_iterator it = tmp.begin();
vector<string>::const_iterator en = tmp.end();
for (; it != en; ++it) {
string const format = *it;
Format const * fmt = formats.getFormat(format);
if (!fmt)
LYXERR0("Can't find format for backend " << format << "!");
else if (fmt->name() == "lyx")
// we can't presently display the LyX format itself
continue;
QString const pretty =
fmt ? qt_(fmt->prettyname()) : toqstr(format);
outputFormatCO->addItem(pretty, QVariant(toqstr(format)));
}
outputFormatCO->setCurrentIndex(index);
outputFormatCO->blockSignals(false);
}