item->_errorString = tr("The filename cannot be encoded on your file system.");
break;
case CSYNC_FILE_EXCLUDE_SERVER_BLACKLISTED:
- item->_errorString = tr("The filename is blacklisted on the server.");
+ const auto errorString = tr("The filename is blacklisted on the server.");
+ QString reasonString;
if (hasForbiddenFilename) {
- item->_errorString += tr(" Reason: the entire filename is forbidden.");
+ reasonString = tr("Reason: the entire filename is forbidden.");
}
if (hasForbiddenBasename) {
- item->_errorString += tr(" Reason: the filename has a forbidden base name (filename start).");
+ reasonString = tr("Reason: the filename has a forbidden base name (filename start).");
}
if (hasForbiddenExtension) {
- item->_errorString += tr(" Reason: the file has a forbidden extension (.%1).").arg(extension);
+ reasonString = tr("Reason: the file has a forbidden extension (.%1).").arg(extension);
}
if (containsForbiddenCharacters) {
- item->_errorString += tr(" Reason: the filename contains a forbidden character (%1).").arg(forbiddenCharMatch);
+ reasonString = tr("Reason: the filename contains a forbidden character (%1).").arg(forbiddenCharMatch);
}
+ item->_errorString = reasonString.isEmpty() ? errorString : QString("%1 %2").arg(errorString, reasonString);
item->_status = SyncFileItem::FileNameInvalidOnServer;
break;
}