From fe850695479818faa75e3d05079c0e40b96ab15b Mon Sep 17 00:00:00 2001 From: philippegorley <philippe.gorley@savoirfairelinux.com> Date: Wed, 7 Nov 2018 13:57:44 -0500 Subject: [PATCH] file transfer: rename duplicate files Add duplicate number after filename, but before extension, and start count at 1 instead of 0. Before, it would be '(0)file.jpg', now it is 'file (1).jpg'. Change-Id: I8bb35cfce63447cf024e5b5dfb18a0410b507ef6 --- src/chatview.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/chatview.cpp b/src/chatview.cpp index 6b783afc..85f484ab 100644 --- a/src/chatview.cpp +++ b/src/chatview.cpp @@ -252,8 +252,12 @@ webkit_chat_container_script_dialog(GtkWidget* webview, gchar *interaction, Chat auto wantedFilename = filename + info.displayName; auto duplicate = 0; while (std::ifstream(wantedFilename).good()) { - wantedFilename = filename + "(" + std::to_string(duplicate) + ")" + info.displayName; ++duplicate; + auto extensionIdx = info.displayName.find_last_of("."); + if (extensionIdx == std::string::npos) + wantedFilename = filename + info.displayName + " (" + std::to_string(duplicate) + ")"; + else + wantedFilename = filename + info.displayName.substr(0, extensionIdx) + " (" + std::to_string(duplicate) + ")" + info.displayName.substr(extensionIdx); } model->acceptTransfer(priv->conversation_->uid, interactionId, wantedFilename); } catch (...) { -- GitLab