namespace {
-bool readFile(Buffer * const b, string const & s)
+bool readFile(Buffer * const b, FileName const & s)
{
BOOST_ASSERT(b);
// File information about normal file
- if (!fs::exists(s)) {
- docstring const file = makeDisplayPath(s, 50);
+ if (!fs::exists(s.toFilesystemEncoding())) {
+ docstring const file = makeDisplayPath(s.absFilename(), 50);
docstring text = bformat(_("The specified document\n%1$s"
"\ncould not be read."), file);
Alert::error(_("Could not read document"), text);
}
// Check if emergency save file exists and is newer.
- string const e = onlyPath(s) + onlyFilename(s) + ".emergency";
+ FileName const e(s.absFilename() + ".emergency");
- if (fs::exists(e) && fs::exists(s)
- && fs::last_write_time(e) > fs::last_write_time(s))
+ if (fs::exists(e.toFilesystemEncoding()) &&
+ fs::exists(s.toFilesystemEncoding()) &&
+ fs::last_write_time(e.toFilesystemEncoding()) > fs::last_write_time(s.toFilesystemEncoding()))
{
- docstring const file = makeDisplayPath(s, 20);
+ docstring const file = makeDisplayPath(s.absFilename(), 20);
docstring const text =
bformat(_("An emergency save of the document "
"%1$s exists.\n\n"
}
// Now check if autosave file is newer.
- string const a = onlyPath(s) + '#' + onlyFilename(s) + '#';
+ FileName const a(onlyPath(s.absFilename()) + '#' + onlyFilename(s.absFilename()) + '#');
- if (fs::exists(a) && fs::exists(s)
- && fs::last_write_time(a) > fs::last_write_time(s))
+ if (fs::exists(a.toFilesystemEncoding()) &&
+ fs::exists(s.toFilesystemEncoding()) &&
+ fs::last_write_time(a.toFilesystemEncoding()) > fs::last_write_time(s.toFilesystemEncoding()))
{
- docstring const file = makeDisplayPath(s, 20);
+ docstring const file = makeDisplayPath(s.absFilename(), 20);
docstring const text =
bformat(_("The backup of the document "
"%1$s is newer.\n\nLoad the "
return b->readFile(a);
case 1:
// Here we delete the autosave
- unlink(FileName(makeAbsPath(a)));
+ unlink(a);
break;
default:
return false;
-bool loadLyXFile(Buffer * b, string const & s)
+bool loadLyXFile(Buffer * b, FileName const & s)
{
BOOST_ASSERT(b);
- if (fs::is_readable(s)) {
+ if (fs::is_readable(s.toFilesystemEncoding())) {
if (readFile(b, s)) {
b->lyxvc().file_found_hook(s);
- if (!fs::is_writable(s))
+ if (!fs::is_writable(s.toFilesystemEncoding()))
b->setReadonly(true);
return true;
}
} else {
- docstring const file = makeDisplayPath(s, 20);
+ docstring const file = makeDisplayPath(s.absFilename(), 20);
// Here we probably should run
if (LyXVC::file_not_found_hook(s)) {
docstring const text =
Buffer * b = theBufferList().newBuffer(filename);
BOOST_ASSERT(b);
- string tname;
+ FileName tname;
// use defaults.lyx as a default template if it exists.
if (templatename.empty())
- tname = libFileSearch("templates", "defaults.lyx").absFilename();
+ tname = libFileSearch("templates", "defaults.lyx");
else
- tname = templatename;
+ tname = makeAbsPath(templatename);
if (!tname.empty()) {
if (!b->readFile(tname)) {
- docstring const file = makeDisplayPath(tname, 50);
+ docstring const file = makeDisplayPath(tname.absFilename(), 50);
docstring const text = bformat(
_("The specified document template\n%1$s\ncould not be read."),
file);