From 5f8237b973c8338d25910140105be95b573566d0 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 26 Jul 2023 13:54:10 +0300 Subject: Srmm_DownloadOfflineFile - added hContact parameter to simplify life --- include/m_srmm_int.h | 2 +- libs/win32/mir_app.lib | Bin 264370 -> 265082 bytes libs/win64/mir_app.lib | Bin 263400 -> 264126 bytes src/mir_app/src/file.cpp | 2 +- src/mir_app/src/filexferdlg.cpp | 10 ++++------ src/mir_app/src/mir_app.def | 4 +++- src/mir_app/src/mir_app64.def | 4 +++- src/mir_app/src/srmm_log_rtf.cpp | 2 +- src/mir_app/src/srmm_util.cpp | 4 ++-- 9 files changed, 15 insertions(+), 13 deletions(-) diff --git a/include/m_srmm_int.h b/include/m_srmm_int.h index 75f1185f81..12c2b1cd8a 100644 --- a/include/m_srmm_int.h +++ b/include/m_srmm_int.h @@ -358,7 +358,7 @@ MIR_APP_DLL(void) Srmm_CreateHotkey(const char *pszSection, const char *pszDescr ///////////////////////////////////////////////////////////////////////////////////////// // downloads or launches offline file -MIR_APP_DLL(void) Srmm_DownloadOfflineFile(MEVENT hDbEvent, bool bOpen); +MIR_APP_DLL(void) Srmm_DownloadOfflineFile(MCONTACT hContact, MEVENT hDbEvent, bool bOpen); ///////////////////////////////////////////////////////////////////////////////////////// // finds a SRMM window using hContact diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib index a9289b8d58..ef73e11d59 100644 Binary files a/libs/win32/mir_app.lib and b/libs/win32/mir_app.lib differ diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib index df86862301..0d78e4dc8e 100644 Binary files a/libs/win64/mir_app.lib and b/libs/win64/mir_app.lib differ diff --git a/src/mir_app/src/file.cpp b/src/mir_app/src/file.cpp index deaa693b8c..1caa5414b8 100644 --- a/src/mir_app/src/file.cpp +++ b/src/mir_app/src/file.cpp @@ -280,7 +280,7 @@ MEVENT Proto_RecvFile(MCONTACT hContact, PROTORECVFILE *pre) // 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); + Srmm_DownloadOfflineFile(hContact, hdbe, false); bool bShow = !Contact::IsGroupChat(hContact); if (bShow && blob.isOffline()) { diff --git a/src/mir_app/src/filexferdlg.cpp b/src/mir_app/src/filexferdlg.cpp index c284f9edb1..c1cd617cf5 100644 --- a/src/mir_app/src/filexferdlg.cpp +++ b/src/mir_app/src/filexferdlg.cpp @@ -331,10 +331,9 @@ INT_PTR CALLBACK DlgProcFileTransfer(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR break; case IDC_TRANSFERCOMPLETED: - if (dat->transferStatus.currentFileNumber <= 1 && CheckVirusScanned(hwndDlg, dat, 0)) { + if (dat->transferStatus.currentFileNumber <= 1 && CheckVirusScanned(hwndDlg, dat, 0)) ShellExecute(NULL, NULL, dat->files[0], NULL, NULL, SW_SHOW); - break; - } + break; case IDC_OPENFOLDER: { @@ -596,15 +595,14 @@ INT_PTR CALLBACK DlgProcFileTransfer(HWND hwndDlg, UINT msg, WPARAM wParam, LPAR DB::EventInfo dbei; dbei.szModule = Proto_GetBaseAccountName(dat->hContact); dbei.eventType = EVENTTYPE_FILE; - dbei.flags = DBEF_SENT; + dbei.flags = DBEF_SENT | DBEF_UTF; dbei.timestamp = time(0); - dbei.flags |= DBEF_UTF; DB::FILE_BLOB blob(dat->szFilenames, dat->szMsg); blob.write(dbei); db_event_add(dat->hContact, &dbei); - dat->files = nullptr; //protocol library frees this + dat->files = nullptr; // protocol library frees this } else { SetFtStatus(hwndDlg, diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index f5c81b2c9b..eced6ed67c 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -246,7 +246,7 @@ Srmm_RedrawToolbarIcons @338 ?Srmm_GetNthButton@@YGPAUCustomButtonData@@H@Z @339 NONAME ?Srmm_GetButtonCount@@YGHXZ @340 NONAME ?Srmm_ClickToolbarIcon@@YGXIHPAUHWND__@@H@Z @341 NONAME -?Srmm_DownloadOfflineFile@@YGXI_N@Z @342 NONAME +?Srmm_DownloadOfflineFile@@YGXII_N@Z @342 NONAME Miranda_OkToExit @344 Miranda_GetVersion @345 Miranda_GetFileVersion @346 @@ -884,3 +884,5 @@ Clist_RemoveEvent @989 ?Clist_SetGroupExpand@@YGXPAUHWND__@@PAUClcData@@PAUClcGroup@@H@Z @1001 NONAME Clist_GroupRestoreExpanded @1002 NONAME Clist_GroupSaveExpanded @1003 NONAME +?OnRedrawTimer@CSrmmBaseDialog@@AAEXPAVCTimer@@@Z @1004 NONAME +?ScheduleRedrawLog@CSrmmBaseDialog@@QAEXXZ @1005 NONAME diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index b49d1d3ac8..3598906804 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -246,7 +246,7 @@ Srmm_RedrawToolbarIcons @338 ?Srmm_GetNthButton@@YAPEAUCustomButtonData@@H@Z @339 NONAME ?Srmm_GetButtonCount@@YAHXZ @340 NONAME ?Srmm_ClickToolbarIcon@@YAXIHPEAUHWND__@@H@Z @341 NONAME -?Srmm_DownloadOfflineFile@@YAXI_N@Z @342 NONAME +?Srmm_DownloadOfflineFile@@YAXII_N@Z @342 NONAME Miranda_OkToExit @344 Miranda_GetVersion @345 Miranda_GetFileVersion @346 @@ -884,3 +884,5 @@ Clist_RemoveEvent @989 ?Clist_SetGroupExpand@@YAXPEAUHWND__@@PEAUClcData@@PEAUClcGroup@@H@Z @1001 NONAME Clist_GroupRestoreExpanded @1002 NONAME Clist_GroupSaveExpanded @1003 NONAME +?OnRedrawTimer@CSrmmBaseDialog@@AEAAXPEAVCTimer@@@Z @1004 NONAME +?ScheduleRedrawLog@CSrmmBaseDialog@@QEAAXXZ @1005 NONAME diff --git a/src/mir_app/src/srmm_log_rtf.cpp b/src/mir_app/src/srmm_log_rtf.cpp index ee76d28bc3..34fdb37a75 100644 --- a/src/mir_app/src/srmm_log_rtf.cpp +++ b/src/mir_app/src/srmm_log_rtf.cpp @@ -236,7 +236,7 @@ INT_PTR CRtfLogWindow::Notify(WPARAM, LPARAM lParam) } } - Srmm_DownloadOfflineFile(hDbEvent, nCmd == 2); + Srmm_DownloadOfflineFile(m_pDlg.m_hContact, hDbEvent, nCmd == 2); return TRUE; } diff --git a/src/mir_app/src/srmm_util.cpp b/src/mir_app/src/srmm_util.cpp index 955eafa6c0..29e8d4678b 100644 --- a/src/mir_app/src/srmm_util.cpp +++ b/src/mir_app/src/srmm_util.cpp @@ -132,7 +132,7 @@ void OFDTHREAD::ResetFileName(const wchar_t *pwszNewName) wszPath = FindUniqueFileName(pwszNewName); } -MIR_APP_DLL(void) Srmm_DownloadOfflineFile(MEVENT hDbEvent, bool bOpen) +MIR_APP_DLL(void) Srmm_DownloadOfflineFile(MCONTACT hContact, MEVENT hDbEvent, bool bOpen) { DB::EventInfo dbei(hDbEvent); if (!dbei) @@ -144,7 +144,7 @@ MIR_APP_DLL(void) Srmm_DownloadOfflineFile(MEVENT hDbEvent, bool bOpen) if (!mir_wstrlen(blob.getLocalName())) { wchar_t wszReceiveFolder[MAX_PATH]; - GetContactReceivedFilesDir(db_event_getContact(hDbEvent), wszReceiveFolder, _countof(wszReceiveFolder), true); + GetContactReceivedFilesDir(hContact, wszReceiveFolder, _countof(wszReceiveFolder), true); CreateDirectoryTreeW(wszReceiveFolder); MFilePath wszFullName(wszReceiveFolder); -- cgit v1.2.3