]> git.lyx.org Git - lyx.git/blobdiff - src/support/FileName.cpp
Best to use braces when there are comments.
[lyx.git] / src / support / FileName.cpp
index 1c8cc2c92a220621ef7fc38d3736c22903245535..179fef46ee92e2b419fd8f18e33d74b162a3472c 100644 (file)
@@ -28,7 +28,7 @@
 #include <QFileInfo>
 #include <QList>
 #include <QTemporaryFile>
-#include <QTime>
+#include <QElapsedTimer>
 
 #ifdef _WIN32
 #include <QThread>
@@ -259,6 +259,7 @@ bool FileName::renameTo(FileName const & name) const
 {
        LYXERR(Debug::FILES, "Renaming " << name << " as " << *this);
        bool success = QFile::rename(d->fi.absoluteFilePath(), name.d->fi.absoluteFilePath());
+       d->refresh();
        if (!success)
                LYXERR0("Could not rename file " << *this << " to " << name);
        return success;
@@ -272,19 +273,21 @@ bool FileName::moveTo(FileName const & name) const
        // there's a locking problem on Windows sometimes, so
        // we will keep trying for five seconds, in the hope
        // that clears.
-       bool removed = QFile::remove(name.d->fi.absoluteFilePath());
-       int tries = 1;
-       while (!removed && tries < 6)   {
-               QThread::sleep(1);
-               removed = QFile::remove(name.d->fi.absoluteFilePath());
-               tries++;
+       name.refresh();
+       if (name.exists()) {
+               bool removed = name.removeFile();
+               int tries = 1;
+               while (!removed && tries < 6)   {
+                       QThread::sleep(1);
+                       removed = name.removeFile();
+                       tries++;
+               }
        }
 #else
        QFile::remove(name.d->fi.absoluteFilePath());
 #endif
 
-       bool const success = QFile::rename(d->fi.absoluteFilePath(),
-               name.d->fi.absoluteFilePath());
+       bool const success = renameTo(name);
        if (!success)
                LYXERR0("Could not move file " << *this << " to " << name);
        return success;
@@ -560,7 +563,7 @@ unsigned long FileName::checksum() const
        }
 
        // This is used in the debug output at the end of the method.
-       static QTime t;
+       static QElapsedTimer t;
        if (lyxerr.debugging(Debug::FILES))
                t.restart();