summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-07-24 16:22:32 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-07-24 16:22:32 +0300
commit0956f37bb218b97ff09bfa4d41c764d66ebd1917 (patch)
treef2a6aaa1d445971212cca0175d36aabf211635ec
parent980a8b83d6fb1cfb8cfa86e96477b5b262616d71 (diff)
fixes #3583 (Jabber: индикация входяшего файла при открытом окне сообщений)
-rw-r--r--src/mir_app/src/file.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/mir_app/src/file.cpp b/src/mir_app/src/file.cpp
index 480066e887..97a6507a96 100644
--- a/src/mir_app/src/file.cpp
+++ b/src/mir_app/src/file.cpp
@@ -264,15 +264,24 @@ MEVENT Proto_RecvFile(MCONTACT hContact, PROTORECVFILE *pre)
if (!bSilent && File::bAutoAccept && Contact::OnList(hContact))
LaunchRecvDialog(&cle);
else {
- Skin_PlaySound("RecvFile");
-
// load offline files always (if OfflineSize = 0)
// or if they are less than a limit (if a transfer has specified file size)
if (bSilent && File::bOfflineAuto)
if (File::iOfflineSize == 0 || (blob.getSize() > 0 && blob.getSize() < File::iOfflineSize * 1024))
Srmm_DownloadOfflineFile(hdbe, false);
- if (!Contact::IsGroupChat(hContact)) {
+ bool bShow = !Contact::IsGroupChat(hContact);
+ if (bShow && blob.isOffline()) {
+ auto *pDlg = Srmm_FindDialog(hContact);
+ if (!pDlg && db_mc_isSub(hContact))
+ pDlg = Srmm_FindDialog(db_mc_getMeta(hContact));
+ if (pDlg)
+ bShow = false;
+ }
+
+ if (bShow) {
+ Skin_PlaySound("RecvFile");
+
wchar_t szTooltip[256];
mir_snwprintf(szTooltip, TranslateT("File from %s"), Clist_GetContactDisplayName(hContact));