From 2333f78379144b253c1f1c6e9ba3a2346ff989c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Fri, 4 Oct 2019 10:18:50 -0400 Subject: [PATCH] conversation: automatically accepts < 20Mb files and if contact is already added Change-Id: Id1137832c5bba5f41f559db3d1c33071c9a496bf --- src/conversationmodel.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/conversationmodel.cpp b/src/conversationmodel.cpp index b2a4bf1f..86b35a7d 100644 --- a/src/conversationmodel.cpp +++ b/src/conversationmodel.cpp @@ -1989,11 +1989,16 @@ ConversationModelPimpl::slotTransferStatusAwaitingHost(long long dringId, datatr auto extensionIdx = info.displayName.find_last_of("."); if (extensionIdx == std::string::npos) return; auto extension = info.displayName.substr(extensionIdx); + try { + auto contactInfo = linked.owner.contactModel->getContact(conversations[conversationIdx].participants.front()); + // Only accept if contact is added + if (contactInfo.profileInfo.type != profile::Type::RING) return; + } catch (...) { + return; + } std::transform(extension.begin(), extension.end(), extension.begin(), ::tolower); - auto fileExtensions = {".gif", ".jpg", ".jpeg", ".png", ".webp", ".ogg", ".mp3", ".wav", ".flac", ".webm", ".mp4", ".mkv"}; - auto isAutoAccepted = std::find(fileExtensions.begin(), fileExtensions.end(), extension) != fileExtensions.end(); auto destinationDir = lrc.getDataTransferModel().downloadDirectory; - if (info.totalSize < 20 * 1024 * 1024 && isAutoAccepted && !destinationDir.empty()) { + if (info.totalSize < 20 * 1024 * 1024 && !destinationDir.empty()) { auto wantedFilename = destinationDir + info.displayName; auto duplicate = 0; while (std::ifstream(wantedFilename).good()) { -- GitLab