}
}
+ if (item->_status == SyncFileItem::FileNameInvalid && !item->isDirectory()) {
+ _dirItem->_isAnyInvalidCharChild = true;
+ }
+
+
_childIgnored = true;
emit _discoveryData->itemDiscovered(item);
return true;
auto *subJob = dynamic_cast<PropagatorJob *>(sender());
ASSERT(subJob);
- if (!_isAnyCaseClashSubFolder) {
+ if (!_isAnyChildInConflict) {
if (const auto propagateDirectoryjob = qobject_cast<PropagateDirectory *>(subJob)) {
- _isAnyCaseClashSubFolder = propagateDirectoryjob->_item && propagateDirectoryjob->_item->_isCaseClashFolder;
+ _isAnyChildInConflict = propagateDirectoryjob->_item && propagateDirectoryjob->_item->_status == SyncFileItem::FileNameClash;
+ } else if (const auto propagateIgnoreJob = qobject_cast<PropagateIgnoreJob *>(subJob)) {
+ _isAnyChildInConflict =
+ propagateIgnoreJob->_item && propagateIgnoreJob->_item->_status == SyncFileItem::FileNameInvalid;
}
}
+
// Delete the job and remove it from our list of jobs.
subJob->deleteLater();
int i = _runningJobs.indexOf(subJob);
}
}
#endif
- if (!_subJobs._isAnyCaseClashSubFolder) {
+ if (!_subJobs._isAnyChildInConflict) {
const auto result = propagator()->updateMetadata(*_item);
if (!result) {
status = _item->_status = SyncFileItem::FatalError;
QVector<PropagatorJob *> _runningJobs;
SyncFileItem::Status _hasError = SyncFileItem::NoStatus; // NoStatus, or NormalError / SoftError if there was an error
quint64 _abortsCount = 0;
- bool _isAnyCaseClashSubFolder = false;
+ bool _isAnyChildInConflict = false;
explicit PropagatorCompositeJob(OwncloudPropagator *propagator)
: PropagatorJob(propagator)
bool _isEncryptedMetadataNeedUpdate = false;
bool _isCaseClashFolder = false;
+
+ bool _isAnyInvalidCharChild = false;
};
inline bool operator<(const SyncFileItemPtr &item1, const SyncFileItemPtr &item2)