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