X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2FFileName.cpp;h=929c4165bebd541bead6ce6e7a6a61774e12f89d;hb=7800c057884f6a950bb21bce351968f50679f18c;hp=05492f66d14c85a9230ca64ac79937aacd107132;hpb=0de4bc224af34b6f519afb7ab38f190e634b4c7c;p=lyx.git diff --git a/src/support/FileName.cpp b/src/support/FileName.cpp index 05492f66d1..929c4165be 100644 --- a/src/support/FileName.cpp +++ b/src/support/FileName.cpp @@ -18,7 +18,6 @@ #include "support/lassert.h" #include "support/lstrings.h" #include "support/mutex.h" -#include "support/qstring_helpers.h" #include "support/os.h" #include "support/Package.h" #include "support/qstring_helpers.h" @@ -32,7 +31,6 @@ #include #include -#include #include #include @@ -249,7 +247,7 @@ bool FileName::copyTo(FileName const & name, bool keepsymlink, bool FileName::renameTo(FileName const & name) const { - LYXERR(Debug::FILES, "Renaming " << name); + LYXERR(Debug::FILES, "Renaming " << name << " as " << *this); bool success = QFile::rename(d->fi.absoluteFilePath(), name.d->fi.absoluteFilePath()); if (!success) LYXERR0("Could not rename file " << *this << " to " << name); @@ -259,7 +257,7 @@ bool FileName::renameTo(FileName const & name) const bool FileName::moveTo(FileName const & name) const { - LYXERR(Debug::FILES, "Moving " << name); + LYXERR(Debug::FILES, "Moving " << name << " to " << *this); QFile::remove(name.d->fi.absoluteFilePath()); bool success = QFile::rename(d->fi.absoluteFilePath(), @@ -320,6 +318,9 @@ bool FileName::isSymLink() const } +//QFileInfo caching info might fool this test if file was changed meanwhile. +//refresh() helps, but we don't want to put it blindly here, because it might +//trigger slowdown on networked file systems. bool FileName::isFileEmpty() const { LASSERT(!empty(), return true); @@ -491,6 +492,12 @@ bool FileName::chdir() const } +bool FileName::link(FileName const & name) const +{ + return QFile::link(toqstr(absFileName()), toqstr(name.absFileName())); +} + + unsigned long checksum_ifstream_fallback(char const * file) { unsigned long result = 0;