]> git.lyx.org Git - lyx.git/blob - src/output.cpp
Fix dialog handling of Insert Plain Text
[lyx.git] / src / output.cpp
1 /**
2  * \file output.cpp
3  * This file is part of LyX, the document processor.
4  * Licence details can be found in the file COPYING.
5  *
6  * \author Lars Gullik Bjønnes
7  *
8  * Full author contact details are available in file CREDITS.
9  */
10
11 #include <config.h>
12
13 #include "output.h"
14
15 #include "gettext.h"
16
17 #include "frontends/alert.h"
18
19 #include "support/filetools.h"
20 #include "support/lstrings.h"
21
22
23 namespace lyx {
24
25 using support::bformat;
26 using support::FileName;
27
28 using std::ofstream;
29 using std::string;
30
31 namespace {
32
33 template<typename OFStream>
34 bool doOpenFileWrite(OFStream & ofs, FileName const & fname)
35 {
36         ofs.open(fname.toFilesystemEncoding().c_str());
37         if (ofs)
38                 return true;
39         docstring const file = fname.displayName(50);
40         docstring text = bformat(_("Could not open the specified "
41                                                          "document\n%1$s."), file);
42         frontend::Alert::error(_("Could not open file"), text);
43         return false;
44 }
45
46 }
47
48
49 bool openFileWrite(ofstream & ofs, FileName const & fname)
50 {
51         return doOpenFileWrite(ofs, fname);
52 }
53
54
55 bool openFileWrite(odocfstream & ofs, FileName const & fname)
56 {
57         return doOpenFileWrite(ofs, fname);
58 }
59
60
61 } // namespace lyx