item->_modtime = localEntry.modtime;
item->_type = localEntry.isDirectory ? ItemTypeDirectory : ItemTypeFile;
_childModified = true;
+ } else if (dbEntry._modtime > 0 && localEntry.modtime <= 0) {
+ item->_instruction = CSYNC_INSTRUCTION_SYNC;
+ item->_direction = SyncFileItem::Down;
+ item->_size = localEntry.size > 0 ? localEntry.size : dbEntry._fileSize;
+ item->_modtime = dbEntry._modtime;
+ item->_previousModtime = dbEntry._modtime;
+ item->_type = localEntry.isDirectory ? ItemTypeDirectory : ItemTypeFile;
+ _childModified = true;
} else {
// Local file was changed
item->_instruction = CSYNC_INSTRUCTION_SYNC;
{
const qint64 actualSize = getSize(fileName);
const time_t actualMtime = getModTime(fileName);
- if (actualSize != previousSize || (actualMtime != previousMtime && previousMtime > 0 && actualMtime > 0)) {
+ if ((actualSize != previousSize && actualMtime > 0) || (actualMtime != previousMtime && previousMtime > 0 && actualMtime > 0)) {
qCInfo(lcFileSystem) << "File" << fileName << "has changed:"
<< "size: " << previousSize << "<->" << actualSize
<< ", mtime: " << previousMtime << "<->" << actualMtime;