diff options
author | George Hazan <george.hazan@gmail.com> | 2023-07-24 16:22:32 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2023-07-24 16:22:32 +0300 |
commit | 0956f37bb218b97ff09bfa4d41c764d66ebd1917 (patch) | |
tree | f2a6aaa1d445971212cca0175d36aabf211635ec | |
parent | 980a8b83d6fb1cfb8cfa86e96477b5b262616d71 (diff) |
fixes #3583 (Jabber: индикация входяшего файла при открытом окне сообщений)
-rw-r--r-- | src/mir_app/src/file.cpp | 15 |
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)); |