From 2399415bb543d77fae4028b6d2d9d9eecc4ea9b0 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 25 Oct 2023 15:47:41 +0300 Subject: =?UTF-8?q?fixes=20#3750=20(YAMN:=20=D0=BE=D0=BF=D1=86=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=D0=BD=D1=83=D0=B4=D0=B8=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BF=D0=BE=D0=BA=D0=B0=D0=B7?= =?UTF-8?q?=D0=B0=20=D0=B2=D1=81=D0=BF=D0=BB.=20=D0=BE=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=20=D0=BD=D0=B5=20=D0=B2=D1=81=D0=B5=D0=B3=D0=B4=D0=B0=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/YAMN/src/account.h | 9 +++++---- protocols/YAMN/src/browser/mailbrowser.cpp | 7 +++++-- protocols/YAMN/src/proto/pop3/pop3comm.cpp | 2 +- protocols/YAMN/src/yamn.cpp | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) (limited to 'protocols/YAMN') diff --git a/protocols/YAMN/src/account.h b/protocols/YAMN/src/account.h index 70d7f45b5f..e7ae48d052 100644 --- a/protocols/YAMN/src/account.h +++ b/protocols/YAMN/src/account.h @@ -40,11 +40,12 @@ enum ACC_DISCONNECTING, // disconnecting from server }; -#define YAMN_ACC_MSG 0x00000002 // Shows dialog -#define YAMN_ACC_ICO 0x00000004 // Shows system tray icon (1) +#define YAMN_ACC_FORCEPOP 0x00000001 // Always show popup, cannot be stored +#define YAMN_ACC_MSG 0x00000002 // Show dialog +#define YAMN_ACC_ICO 0x00000004 // Show system tray icon (1) #define YAMN_ACC_ICOB 0x00000008 // not used now, enables tray icon flashing (1) -#define YAMN_ACC_APP 0x00000010 // Runs application (1) -#define YAMN_ACC_POP 0x00000020 // Shows popup +#define YAMN_ACC_APP 0x00000010 // Run application (1) +#define YAMN_ACC_POP 0x00000020 // Show popup #define YAMN_ACC_POPC 0x00000040 // Use custom colors in popup #define YAMN_ACC_MSGP 0x00000080 // Persistant messgage. This means, when an situation occurs (e.g. new mail) and message is displayed, it is not destroyed when YAMN_ACC_MSG is not set #define YAMN_ACC_KBN 0x00000100 // Use Keyboard notify diff --git a/protocols/YAMN/src/browser/mailbrowser.cpp b/protocols/YAMN/src/browser/mailbrowser.cpp index a4b3b03a5f..28e6c87f1d 100644 --- a/protocols/YAMN/src/browser/mailbrowser.cpp +++ b/protocols/YAMN/src/browser/mailbrowser.cpp @@ -330,9 +330,12 @@ int UpdateMails(HWND hDlg, CAccount *ActualAccount, uint32_t nflags, uint32_t nn RunMailBrowser = FALSE; // if some popups with mails are needed to show - if ((nflags & YAMN_ACC_POP) && (ActualAccount->Flags & YAMN_ACC_POPN) && (MN.Real.PopupNC + MN.Virtual.PopupNC)) + if (nflags & YAMN_ACC_FORCEPOP) RunPopups = TRUE; - else RunPopups = FALSE; + else if ((nflags & YAMN_ACC_POP) && (ActualAccount->Flags & YAMN_ACC_POPN) && (MN.Real.PopupNC + MN.Virtual.PopupNC)) + RunPopups = TRUE; + else + RunPopups = FALSE; if (RunMailBrowser) ChangeExistingMailStatus(GetDlgItem(hDlg, IDC_LISTMAILS), ActualAccount); diff --git a/protocols/YAMN/src/proto/pop3/pop3comm.cpp b/protocols/YAMN/src/proto/pop3/pop3comm.cpp index 213ecb86c2..f1c3918c2e 100644 --- a/protocols/YAMN/src/proto/pop3/pop3comm.cpp +++ b/protocols/YAMN/src/proto/pop3/pop3comm.cpp @@ -628,7 +628,7 @@ void MIR_CDECL SynchroPOP3(CheckParam *WhichTemp) YAMN_MAILBROWSERPARAM Param = { ActualAccount, NFlags, NNFlags, 0 }; if (bForceCheck) - Param.nnflags |= YAMN_ACC_POP; // if force check, show popup anyway and if mailbrowser was opened, do not close + Param.nnflags |= YAMN_ACC_FORCEPOP; // if force check, show popup anyway and if mailbrowser was opened, do not close Param.nnflags |= YAMN_ACC_MSGP; // do not close browser if already open RunMailBrowser(&Param); diff --git a/protocols/YAMN/src/yamn.cpp b/protocols/YAMN/src/yamn.cpp index 52b52bd098..12c3ee3f11 100644 --- a/protocols/YAMN/src/yamn.cpp +++ b/protocols/YAMN/src/yamn.cpp @@ -76,7 +76,7 @@ void CALLBACK TimerProc(HWND, UINT, UINT_PTR, DWORD) WindowList_BroadcastAsync(MessageWnds, WM_YAMN_CHANGETIME, (WPARAM)ActualAccount, (LPARAM)ActualAccount->TimeLeft); if (!ActualAccount->TimeLeft) { ActualAccount->TimeLeft = ActualAccount->Interval; - mir_forkthread((pThreadFunc)ActualAccount->Plugin->Fcn->TimeoutFcnPtr, new CheckParam(ActualAccount, false)); + mir_forkThread(ActualAccount->Plugin->Fcn->TimeoutFcnPtr, new CheckParam(ActualAccount, false)); } } -- cgit v1.2.3