lyx_mirror/src/output.C
Georg Baum 34b7650cbb Introduce wide streams. This fixes the remaining problems of plain text
export (e.g. the ToC) and the navigate menu.

	* src/insets/insetbase.h
	(InsetBase::plaintext): output to a docstream
	(InsetBase::textString): ditto

	* src/mathed/TextPainter.h
	(TextPainter::show): ditto

	* src/support/docstream.[Ch] New file and string streams for
	docstring. The file streams convert to UTF8 on the fly.

	* many more files: Adjust to the changes above


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@15301 a592a061-630c-0410-9148-cb99ea01b6c8
2006-10-11 19:40:50 +00:00

59 lines
1.1 KiB
C

/**
* \file output.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "output.h"
#include "gettext.h"
#include "frontends/Alert.h"
#include "support/filetools.h"
using lyx::odocfstream;
using lyx::support::bformat;
using lyx::support::makeDisplayPath;
using lyx::docstring;
using std::ofstream;
using std::string;
namespace {
template<typename OFStream>
bool doOpenFileWrite(OFStream & ofs, string const & fname)
{
ofs.open(fname.c_str());
if (!ofs) {
docstring const file = makeDisplayPath(fname, 50);
docstring text = bformat(_("Could not open the specified "
"document\n%1$s."), file);
lyx::frontend::Alert::error(_("Could not open file"), text);
return false;
}
return true;
}
}
bool openFileWrite(ofstream & ofs, string const & fname)
{
return doOpenFileWrite(ofs, fname);
}
bool openFileWrite(odocfstream & ofs, string const & fname)
{
return doOpenFileWrite(ofs, fname);
}