From ef1a349d88912a89a8dd20ca1dcb342b6dc9c2ff Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 27 May 2019 18:45:43 +0300 Subject: fixes #1963 (Remove Free for Chat, On the Phone and Out to Lunch statuses completely) --- plugins/SimpleAR/src/Main.cpp | 6 +++--- plugins/SimpleAR/src/Options.cpp | 23 +++++++++++------------ 2 files changed, 14 insertions(+), 15 deletions(-) (limited to 'plugins/SimpleAR/src') diff --git a/plugins/SimpleAR/src/Main.cpp b/plugins/SimpleAR/src/Main.cpp index c2585fbb11..593bc0f2c4 100644 --- a/plugins/SimpleAR/src/Main.cpp +++ b/plugins/SimpleAR/src/Main.cpp @@ -100,7 +100,7 @@ INT CheckDefaults(WPARAM, LPARAM) mir_free(ptszVal); for (int c = ID_STATUS_ONLINE; c < ID_STATUS_IDLE; c++) { - if (c == ID_STATUS_ONLINE || c == ID_STATUS_FREECHAT || c == ID_STATUS_INVISIBLE) + if (c == ID_STATUS_ONLINE || c == ID_STATUS_INVISIBLE) continue; else { char szStatus[6] = { 0 }; @@ -108,7 +108,7 @@ INT CheckDefaults(WPARAM, LPARAM) ptszVal = g_plugin.getWStringA(szStatus); if (ptszVal == nullptr) { wchar_t *ptszDefault; - if (c < ID_STATUS_FREECHAT) + if (c < ID_STATUS_OCCUPIED) // This mode does not have a preset message ptszDefault = ptszDefaultMsg[c - ID_STATUS_ONLINE - 1]; else if (c > ID_STATUS_INVISIBLE) @@ -142,7 +142,7 @@ INT addEvent(WPARAM hContact, LPARAM hDBEvent) char* pszProto = GetContactProto(hContact); int status = Proto_GetStatus(pszProto); - if (status == ID_STATUS_ONLINE || status == ID_STATUS_FREECHAT || status == ID_STATUS_INVISIBLE) + if (status == ID_STATUS_ONLINE || status == ID_STATUS_INVISIBLE) return FALSE; // detect size of msg diff --git a/plugins/SimpleAR/src/Options.cpp b/plugins/SimpleAR/src/Options.cpp index 6fd17f3adb..391020267b 100644 --- a/plugins/SimpleAR/src/Options.cpp +++ b/plugins/SimpleAR/src/Options.cpp @@ -23,13 +23,13 @@ INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara for (INT c = ID_STATUS_ONLINE; c < ID_STATUS_IDLE; c++) { mir_snprintf(tszStatus, "%d", c); wchar_t *pszStatus = Clist_GetStatusModeDescription(c, 0); - if (c == ID_STATUS_ONLINE || c == ID_STATUS_FREECHAT || c == ID_STATUS_INVISIBLE) + if (c == ID_STATUS_ONLINE || c == ID_STATUS_INVISIBLE) continue; else { SendDlgItemMessage(hwndDlg, IDC_STATUSMODE, CB_ADDSTRING, 0, (LPARAM)pszStatus); if (!g_plugin.getWString(tszStatus, &dbv)) { - if (c < ID_STATUS_FREECHAT) + if (c < ID_STATUS_OCCUPIED) ptszMessage[c - ID_STATUS_ONLINE - 1] = wcsdup(dbv.pwszVal); else if (c > ID_STATUS_INVISIBLE) ptszMessage[c - ID_STATUS_ONLINE - 3] = wcsdup(dbv.pwszVal); @@ -99,15 +99,15 @@ INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara GetDlgItemText(hwndDlg, IDC_MESSAGE, ptszMessage[lastIndex], size); for (int c = ID_STATUS_ONLINE; c < ID_STATUS_IDLE; c++) { - if (c == ID_STATUS_ONLINE || c == ID_STATUS_FREECHAT || c == ID_STATUS_INVISIBLE) + if (c == ID_STATUS_ONLINE || c == ID_STATUS_INVISIBLE) continue; else { char szStatus[6] = { 0 }; mir_snprintf(szStatus, "%d", c); - if (cID_STATUS_INVISIBLE && ptszMessage[c - ID_STATUS_ONLINE - 3]) + else if (c > ID_STATUS_INVISIBLE && ptszMessage[c - ID_STATUS_ONLINE - 3]) g_plugin.setWString(szStatus, ptszMessage[c - ID_STATUS_ONLINE - 3]); else g_plugin.delSetting(szStatus); @@ -119,14 +119,13 @@ INT_PTR CALLBACK DlgProcOpts(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lPara case WM_DESTROY: for (int c = ID_STATUS_ONLINE; c < ID_STATUS_IDLE; c++) { - if (c == ID_STATUS_ONLINE || c == ID_STATUS_FREECHAT || c == ID_STATUS_INVISIBLE) + if (c == ID_STATUS_ONLINE || c == ID_STATUS_INVISIBLE) continue; - else { - if (cID_STATUS_INVISIBLE) - ptszMessage[c - ID_STATUS_ONLINE - 3] = nullptr; - } + + if (c < ID_STATUS_OCCUPIED) + ptszMessage[c - ID_STATUS_ONLINE - 1] = nullptr; + else if (c > ID_STATUS_INVISIBLE) + ptszMessage[c - ID_STATUS_ONLINE - 3] = nullptr; } break; } -- cgit v1.2.3