2003-11-05 12:06:20 +00:00
|
|
|
/**
|
2007-04-26 04:41:58 +00:00
|
|
|
* \file output.cpp
|
2003-11-05 12:06:20 +00:00
|
|
|
* This file is part of LyX, the document processor.
|
|
|
|
* Licence details can be found in the file COPYING.
|
|
|
|
*
|
2008-11-14 15:58:50 +00:00
|
|
|
* \author Lars Gullik Bjønnes
|
2003-11-05 12:06:20 +00:00
|
|
|
*
|
|
|
|
* Full author contact details are available in file CREDITS.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <config.h>
|
|
|
|
|
|
|
|
#include "output.h"
|
|
|
|
|
2007-11-29 07:04:28 +00:00
|
|
|
#include "support/gettext.h"
|
2003-11-05 12:06:20 +00:00
|
|
|
|
2007-04-28 20:44:46 +00:00
|
|
|
#include "frontends/alert.h"
|
2003-11-05 12:06:20 +00:00
|
|
|
|
2007-12-17 16:04:46 +00:00
|
|
|
#include "support/FileName.h"
|
2003-11-05 12:06:20 +00:00
|
|
|
#include "support/filetools.h"
|
2007-11-13 23:50:28 +00:00
|
|
|
#include "support/lstrings.h"
|
2003-11-05 12:06:20 +00:00
|
|
|
|
2007-12-12 10:16:00 +00:00
|
|
|
using namespace std;
|
2007-12-12 18:57:56 +00:00
|
|
|
using namespace lyx::support;
|
2003-11-05 12:06:20 +00:00
|
|
|
|
2006-10-21 00:16:43 +00:00
|
|
|
namespace lyx {
|
|
|
|
|
2006-10-11 19:40:50 +00:00
|
|
|
namespace {
|
|
|
|
|
|
|
|
template<typename OFStream>
|
2006-12-04 15:46:57 +00:00
|
|
|
bool doOpenFileWrite(OFStream & ofs, FileName const & fname)
|
2003-11-05 12:06:20 +00:00
|
|
|
{
|
2017-03-28 10:05:52 +00:00
|
|
|
ofs.open(fname.toSafeFilesystemEncoding(os::CREATE).c_str());
|
2007-11-13 23:50:28 +00:00
|
|
|
if (ofs)
|
|
|
|
return true;
|
|
|
|
docstring const file = fname.displayName(50);
|
|
|
|
docstring text = bformat(_("Could not open the specified "
|
|
|
|
"document\n%1$s."), file);
|
|
|
|
frontend::Alert::error(_("Could not open file"), text);
|
|
|
|
return false;
|
2003-11-05 12:06:20 +00:00
|
|
|
}
|
2006-10-11 19:40:50 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2006-12-04 15:46:57 +00:00
|
|
|
bool openFileWrite(ofstream & ofs, FileName const & fname)
|
2006-10-11 19:40:50 +00:00
|
|
|
{
|
|
|
|
return doOpenFileWrite(ofs, fname);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2008-11-16 12:21:29 +00:00
|
|
|
bool openFileWrite(ofdocstream & ofs, FileName const & fname)
|
2006-10-11 19:40:50 +00:00
|
|
|
{
|
|
|
|
return doOpenFileWrite(ofs, fname);
|
|
|
|
}
|
2006-10-21 00:16:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
} // namespace lyx
|