diff options
20 files changed, 179 insertions, 612 deletions
diff --git a/plugins/Clist_modern/src/modern_awaymsg.cpp b/plugins/Clist_modern/src/modern_awaymsg.cpp index 7a10a0cbb4..0cdae03c29 100644 --- a/plugins/Clist_modern/src/modern_awaymsg.cpp +++ b/plugins/Clist_modern/src/modern_awaymsg.cpp @@ -78,9 +78,6 @@ static void amThreadProc(void *) {
Netlib_Logf(NULL, "amThreadProc thread start");
- ClcCacheEntry dnce;
- memset(&dnce, 0, sizeof(dnce));
-
while (!MirandaExiting()) {
MCONTACT hContact = amGetCurrentChain();
while (hContact) {
@@ -90,22 +87,20 @@ static void amThreadProc(void *) if (MirandaExiting())
goto LBL_Exit;
}
- CListSettings_FreeCacheItemData(&dnce);
- dnce.hContact = hContact;
- Sync(CLUI_SyncGetPDNCE, (WPARAM)0, (LPARAM)&dnce);
+
+ ClcCacheEntry *pdnce = pcli->pfnGetCacheEntry(hContact);
HANDLE ACK = 0;
- if (dnce.ApparentMode != ID_STATUS_OFFLINE) //don't ask if contact is always invisible (should be done with protocol)
+ if (pdnce->ApparentMode != ID_STATUS_OFFLINE) //don't ask if contact is always invisible (should be done with protocol)
ACK = (HANDLE)CallContactService(hContact, PSS_GETAWAYMSG, 0, 0);
if (!ACK) {
ACKDATA ack;
ack.hContact = hContact;
ack.type = ACKTYPE_AWAYMSG;
ack.result = ACKRESULT_FAILED;
- ack.szModule = dnce.m_pszProto;
- ClcDoProtoAck(hContact, &ack);
+ ack.szModule = pdnce->m_pszProto;
+ ClcDoProtoAck(&ack);
}
- CListSettings_FreeCacheItemData(&dnce);
amRequestTick = time;
hContact = amGetCurrentChain();
if (hContact) {
diff --git a/plugins/Clist_modern/src/modern_cache_funcs.h b/plugins/Clist_modern/src/modern_cache_funcs.h index b518c8bcd9..c7316308c2 100644 --- a/plugins/Clist_modern/src/modern_cache_funcs.h +++ b/plugins/Clist_modern/src/modern_cache_funcs.h @@ -32,15 +32,12 @@ Created by Pescuma #include "modern_clc.h"
#include "modern_commonprototypes.h"
-void Cache_GetText(ClcData *dat, ClcContact *contact, BOOL forceRenew);
+void Cache_GetText(ClcData *dat, ClcContact *contact);
void Cache_GetFirstLineText(ClcData *dat, ClcContact *contact);
-void Cache_GetSecondLineText(SHORTDATA *dat, ClcCacheEntry *pdnce);
-void Cache_GetThirdLineText(SHORTDATA *dat, ClcCacheEntry *pdnce);
+void Cache_GetNthLineText(ClcData *dat, ClcCacheEntry *pdnce, int n);
void Cache_GetAvatar(ClcData *dat, ClcContact *contact);
void Cache_GetTimezone(ClcData *dat, MCONTACT hContact);
-int Cache_GetLineText(ClcCacheEntry *pdnce, int type, LPTSTR text, int text_size, TCHAR *variable_text, BOOL xstatus_has_priority,
- BOOL show_status_if_no_away, BOOL show_listening_if_no_away, BOOL use_name_and_message_for_xstatus,
- BOOL pdnce_time_show_only_if_different);
+int Cache_GetLineText(ClcCacheEntry *pdnce, int type, LPTSTR text, int text_size, ClcLineInfo &line);
void amRequestAwayMsg(MCONTACT hContact);
diff --git a/plugins/Clist_modern/src/modern_cachefuncs.cpp b/plugins/Clist_modern/src/modern_cachefuncs.cpp index af7a5d4ff7..59f54be0f7 100644 --- a/plugins/Clist_modern/src/modern_cachefuncs.cpp +++ b/plugins/Clist_modern/src/modern_cachefuncs.cpp @@ -31,7 +31,6 @@ Modified by FYR #include "stdafx.h" #include "modern_cache_funcs.h" #include "newpluginapi.h" -#include "./modern_gettextasync.h" #include "modern_sync.h" typedef BOOL(*ExecuteOnAllContactsFuncPtr) (ClcContact *contact, BOOL subcontact, void *param); @@ -43,9 +42,6 @@ static int CopySkipUnprintableChars(TCHAR *to, TCHAR * buf, DWORD size); static BOOL ExecuteOnAllContacts(ClcData *dat, ExecuteOnAllContactsFuncPtr func, void *param); static BOOL ExecuteOnAllContactsOfGroup(ClcGroup *group, ExecuteOnAllContactsFuncPtr func, void *param); -int CLUI_SyncGetShortData(WPARAM wParam, LPARAM lParam); -void CListSettings_FreeCacheItemData(ClcCacheEntry *pDst); -void CListSettings_FreeCacheItemDataOption(ClcCacheEntry *pDst, DWORD flag); ///////////////////////////////////////////////////////////////////////////////////////// // Get time zone for contact @@ -65,16 +61,19 @@ void Cache_GetTimezone(ClcData *dat, MCONTACT hContact) ///////////////////////////////////////////////////////////////////////////////////////// // Get all lines of text // -void Cache_GetText(ClcData *dat, ClcContact *contact, BOOL forceRenew) +void Cache_GetText(ClcData *dat, ClcContact *contact) { Cache_GetFirstLineText(dat, contact); + if (!dat->force_in_dialog) { - if ((dat->second_line_show && (forceRenew || contact->pce->szSecondLineText == NULL)) || (dat->third_line_show && (forceRenew || contact->pce->szThirdLineText == NULL))) - gtaAddRequest(dat, contact->hContact); + if (dat->secondLine.show) + Cache_GetNthLineText(dat, contact->pce, 2);
+ if (dat->thirdLine.show)
+ Cache_GetNthLineText(dat, contact->pce, 3); } } -void CSmileyString::AddListeningToIcon(SHORTDATA *dat, TCHAR *szText) +void CSmileyString::AddListeningToIcon(ClcData *dat, TCHAR *szText) { iMaxSmileyHeight = 0; DestroySmileyList(); @@ -173,7 +172,7 @@ void CSmileyString::DestroySmileyList() ///////////////////////////////////////////////////////////////////////////////////////// // Parsing of text for smiley // -void CSmileyString::ReplaceSmileys(SHORTDATA *dat, ClcCacheEntry *pdnce, TCHAR * szText, BOOL replace_smileys) +void CSmileyString::ReplaceSmileys(ClcData *dat, ClcCacheEntry *pdnce, TCHAR * szText, BOOL replace_smileys) { int last_pos = 0; iMaxSmileyHeight = 0; @@ -382,11 +381,8 @@ int GetStatusMessage(TCHAR *text, int text_size, ClcCacheEntry *pdnce, BOOL xsta ///////////////////////////////////////////////////////////////////////////////////////// // Get the text for specified lines -// -int Cache_GetLineText( - ClcCacheEntry *pdnce, int type, LPTSTR text, int text_size, TCHAR *variable_text, BOOL xstatus_has_priority, - BOOL show_status_if_no_away, BOOL show_listening_if_no_away, BOOL use_name_and_message_for_xstatus, - BOOL pdnce_time_show_only_if_different) + +int Cache_GetLineText(ClcCacheEntry *pdnce, int type, LPTSTR text, int text_size, ClcLineInfo &line) { if (text == NULL) return TEXT_EMPTY; @@ -394,7 +390,8 @@ int Cache_GetLineText( switch (type) { case TEXT_STATUS: - if (GetStatusName(text, text_size, pdnce, xstatus_has_priority) == -1 && use_name_and_message_for_xstatus) { +LBL_Status: + if (GetStatusName(text, text_size, pdnce, line.xstatus_has_priority) == -1 && line.use_name_and_message_for_xstatus) { // Try to get XStatusMsg ptrT tszXStatusMsg(db_get_tsa(pdnce->hContact, pdnce->m_pszProto, "XStatusMsg")); if (tszXStatusMsg != NULL && tszXStatusMsg[0] != 0) { @@ -416,7 +413,7 @@ int Cache_GetLineText( return TEXT_NICKNAME; case TEXT_STATUS_MESSAGE: - if (GetStatusMessage(text, text_size, pdnce, xstatus_has_priority) == -1 && use_name_and_message_for_xstatus) { + if (GetStatusMessage(text, text_size, pdnce, line.xstatus_has_priority) == -1 && line.use_name_and_message_for_xstatus) { // Try to get XStatusName ptrT tszXStatusName(db_get_tsa(pdnce->hContact, pdnce->m_pszProto, "XStatusName")); if (tszXStatusName != NULL && tszXStatusName[0] != 0) { @@ -425,7 +422,7 @@ int Cache_GetLineText( CopySkipUnprintableChars(text, text, text_size - 1); } } - else if (use_name_and_message_for_xstatus && xstatus_has_priority) { + else if (line.use_name_and_message_for_xstatus && line.xstatus_has_priority) { // Try to get XStatusName ptrT tszXStatusName(db_get_tsa(pdnce->hContact, pdnce->m_pszProto, "XStatusName")); if (tszXStatusName != NULL && tszXStatusName[0] != 0) { @@ -435,14 +432,14 @@ int Cache_GetLineText( } if (text[0] == '\0') { - if (show_listening_if_no_away) { - Cache_GetLineText(pdnce, TEXT_LISTENING_TO, text, text_size, variable_text, xstatus_has_priority, 0, 0, use_name_and_message_for_xstatus, pdnce_time_show_only_if_different); + if (line.show_listening_if_no_away) { + GetListeningTo(text, text_size, pdnce); if (text[0] != '\0') return TEXT_LISTENING_TO; } - if (show_status_if_no_away) // re-request status if no away - return Cache_GetLineText(pdnce, TEXT_STATUS, text, text_size, variable_text, xstatus_has_priority, 0, 0, use_name_and_message_for_xstatus, pdnce_time_show_only_if_different); + if (line.show_status_if_no_away) // re-request status if no away + goto LBL_Status; } return TEXT_STATUS_MESSAGE; @@ -452,7 +449,7 @@ int Cache_GetLineText( case TEXT_TEXT: { - ptrT tmp(variables_parsedup(variable_text, pdnce->tszName, pdnce->hContact)); + ptrT tmp(variables_parsedup(line.text, pdnce->tszName, pdnce->hContact)); mir_tstrncpy(text, tmp, text_size); CopySkipUnprintableChars(text, text, text_size - 1); } @@ -472,7 +469,7 @@ int Cache_GetLineText( ///////////////////////////////////////////////////////////////////////////////////////// // Get the text for First Line -// + void Cache_GetFirstLineText(ClcData *dat, ClcContact *contact) { if (GetCurrentThreadId() != g_dwMainThreadID) @@ -497,60 +494,42 @@ void Cache_GetFirstLineText(ClcData *dat, ClcContact *contact) } else mir_tstrncpy(contact->szText, name, _countof(contact->szText)); - if (!dat->force_in_dialog) { - SHORTDATA data = { 0 }; - Sync(CLUI_SyncGetShortData, (WPARAM)pcli->hwndContactTree, (LPARAM)&data); - contact->ssText.ReplaceSmileys(&data, pdnce, contact->szText, dat->first_line_draw_smileys); - } + if (!dat->force_in_dialog) + contact->ssText.ReplaceSmileys(dat, pdnce, contact->szText, dat->first_line_draw_smileys); } ///////////////////////////////////////////////////////////////////////////////////////// // Get the text for Second Line -// -void Cache_GetSecondLineText(SHORTDATA *dat, ClcCacheEntry *pdnce) -{ - TCHAR Text[240 - EXTRA_ICON_COUNT] = { 0 }; - int type = TEXT_EMPTY; - if (dat->second_line_show) - type = Cache_GetLineText(pdnce, dat->second_line_type, Text, _countof(Text), dat->second_line_text, - dat->second_line_xstatus_has_priority, dat->second_line_show_status_if_no_away, dat->second_line_show_listening_if_no_away, - dat->second_line_use_name_and_message_for_xstatus, dat->contact_time_show_only_if_different); +void Cache_GetNthLineText(ClcData *dat, ClcCacheEntry *pdnce, int n) +{ + TCHAR Text[240 - EXTRA_ICON_COUNT]; Text[0] = 0; + ClcLineInfo &line = (n == 2) ? dat->secondLine : dat->thirdLine; + TCHAR* &szText = (n == 2) ? pdnce->szSecondLineText : pdnce->szThirdLineText; + // in most cases replaceStrT does nothing + if (!line.show) { + replaceStrT(szText, NULL); + return; + } + + int type = Cache_GetLineText(pdnce, line.type, Text, _countof(Text), line); + if (Text[0] == 0) { + replaceStrT(szText, NULL); + return; + } + Text[_countof(Text) - 1] = 0; //to be sure that it is null terminated string + replaceStrT(szText, Text); - replaceStrT(pdnce->szSecondLineText, (dat->second_line_show) ? Text : NULL); - - if (pdnce->szSecondLineText) { - if (type == TEXT_LISTENING_TO && pdnce->szSecondLineText[0] != _T('\0')) - pdnce->ssSecondLine.AddListeningToIcon(dat, pdnce->szSecondLineText); - else - pdnce->ssSecondLine.ReplaceSmileys(dat, pdnce, pdnce->szSecondLineText, dat->second_line_draw_smileys); - } + CSmileyString &ss = (n == 2) ? pdnce->ssSecondLine : pdnce->ssThirdLine; + if (type == TEXT_LISTENING_TO && szText[0] != _T('\0')) + ss.AddListeningToIcon(dat, szText); + else + ss.ReplaceSmileys(dat, pdnce, szText, line.draw_smileys); } ///////////////////////////////////////////////////////////////////////////////////////// -// Get the text for Third Line -// -void Cache_GetThirdLineText(SHORTDATA *dat, ClcCacheEntry *pdnce) -{ - TCHAR Text[240 - EXTRA_ICON_COUNT] = { 0 }; - int type = TEXT_EMPTY; - if (dat->third_line_show) - type = Cache_GetLineText(pdnce, dat->third_line_type, Text, _countof(Text), dat->third_line_text, - dat->third_line_xstatus_has_priority, dat->third_line_show_status_if_no_away, dat->third_line_show_listening_if_no_away, - dat->third_line_use_name_and_message_for_xstatus, dat->contact_time_show_only_if_different); - - Text[_countof(Text) - 1] = 0; //to be sure that it is null terminated string - - replaceStrT(pdnce->szThirdLineText, (dat->third_line_show) ? Text : NULL); - if (pdnce->szThirdLineText) { - if (type == TEXT_LISTENING_TO && pdnce->szThirdLineText[0] != _T('\0')) - pdnce->ssThirdLine.AddListeningToIcon(dat, pdnce->szThirdLineText); - else - pdnce->ssThirdLine.ReplaceSmileys(dat, pdnce, pdnce->szThirdLineText, dat->third_line_draw_smileys); - } -} void RemoveTag(TCHAR *to, TCHAR *tag) { @@ -564,8 +543,8 @@ void RemoveTag(TCHAR *to, TCHAR *tag) } ///////////////////////////////////////////////////////////////////////////////////////// -//Copy string with removing Escape chars from text and BBcodes -// +// Copy string with removing Escape chars from text and BBcodes + static int CopySkipUnprintableChars(TCHAR *to, TCHAR * buf, DWORD size) { DWORD i; diff --git a/plugins/Clist_modern/src/modern_clc.cpp b/plugins/Clist_modern/src/modern_clc.cpp index 094ca5b4f8..7c7fa0815a 100644 --- a/plugins/Clist_modern/src/modern_clc.cpp +++ b/plugins/Clist_modern/src/modern_clc.cpp @@ -67,9 +67,9 @@ static int clcHookSmileyAddOptionsChanged(WPARAM, LPARAM) return 0;
}
-static int clcHookProtoAck(WPARAM wParam, LPARAM lParam)
+static int clcHookProtoAck(WPARAM, LPARAM lParam)
{
- return ClcDoProtoAck(wParam, (ACKDATA*)lParam);
+ return ClcDoProtoAck((ACKDATA*)lParam);
}
static int clcHookIconsChanged(WPARAM, LPARAM)
@@ -313,7 +313,7 @@ static LRESULT clcOnCreate(ClcData *dat, HWND hwnd, UINT msg, WPARAM wParam, LPA corecli.pfnContactListControlWndProc(hwnd, msg, wParam, lParam);
LoadCLCOptions(hwnd, dat, TRUE);
- if (dat->contact_time_show || dat->second_line_type == TEXT_CONTACT_TIME || dat->third_line_type == TEXT_CONTACT_TIME)
+ if (dat->contact_time_show || dat->secondLine.type == TEXT_CONTACT_TIME || dat->thirdLine.type == TEXT_CONTACT_TIME)
CLUI_SafeSetTimer(hwnd, TIMERID_INVALIDATE, 5000, NULL);
else
KillTimer(hwnd, TIMERID_INVALIDATE);
@@ -621,12 +621,6 @@ void clcSetDelayTimer(UINT_PTR uIDEvent, HWND hwnd, int nDelay) static LRESULT clcOnTimer(ClcData *dat, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (wParam) {
- case TIMERID_INVALIDATE_FULL:
- KillTimer(hwnd, TIMERID_INVALIDATE_FULL);
- pcli->pfnRecalcScrollBar(hwnd, dat);
- pcli->pfnInvalidateRect(hwnd, NULL, 0);
- return corecli.pfnContactListControlWndProc(hwnd, msg, wParam, lParam);
-
case TIMERID_INVALIDATE:
{
time_t cur_time = (time(NULL) / 60);
@@ -1467,7 +1461,7 @@ static LRESULT clcOnIntmTimeZoneChanged(ClcData *dat, HWND hwnd, UINT msg, WPARA if (contact) {
Cache_GetTimezone(dat, contact->hContact);
- Cache_GetText(dat, contact, 1);
+ Cache_GetText(dat, contact);
cliRecalcScrollBar(hwnd, dat);
}
return 0;
@@ -1485,7 +1479,7 @@ static LRESULT clcOnIntmNameChanged(ClcData *dat, HWND hwnd, UINT msg, WPARAM wP if (contact) {
mir_tstrncpy(contact->szText, pcli->pfnGetContactDisplayName(wParam, 0), _countof(contact->szText));
- Cache_GetText(dat, contact, 1);
+ Cache_GetText(dat, contact);
// cliRecalcScrollBar(hwnd, dat);
}
@@ -1508,7 +1502,7 @@ static LRESULT clcOnIntmStatusMsgChanged(ClcData *dat, HWND hwnd, UINT msg, WPAR return corecli.pfnContactListControlWndProc(hwnd, msg, hContact, lParam);
if (contact) {
- Cache_GetText(dat, contact, 1);
+ Cache_GetText(dat, contact);
// cliRecalcScrollBar(hwnd, dat);
PostMessage(hwnd, INTM_INVALIDATE, 0, 0);
}
@@ -1549,15 +1543,19 @@ static LRESULT clcOnIntmScrollBarChanged(ClcData *dat, HWND hwnd, UINT, WPARAM, static LRESULT clcOnIntmStatusChanged(ClcData *dat, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
int ret = corecli.pfnContactListControlWndProc(hwnd, msg, wParam, lParam);
+
if (wParam != 0) {
- ClcCacheEntry *pdnce = pcli->pfnGetCacheEntry(wParam);
- if (pdnce && pdnce->m_pszProto) {
- if (!dat->force_in_dialog && (dat->second_line_show || dat->third_line_show))
- gtaRenewText(pdnce->hContact);
- SendMessage(hwnd, INTM_ICONCHANGED, wParam, corecli.pfnGetContactIcon(wParam));
+ ClcContact *contact;
+ if (FindItem(hwnd, dat, wParam, &contact, NULL, NULL, TRUE)) {
+ ClcCacheEntry *pdnce = contact->pce;
+ if (pdnce && pdnce->m_pszProto) {
+ if (!dat->force_in_dialog) {
+ Cache_GetNthLineText(dat, pdnce, 2);
+ Cache_GetNthLineText(dat, pdnce, 3);
+ }
+
+ SendMessage(hwnd, INTM_ICONCHANGED, wParam, corecli.pfnGetContactIcon(wParam));
- ClcContact *contact;
- if (FindItem(hwnd, dat, wParam, &contact, NULL, NULL, TRUE)) {
if (contact && contact->type == CLCIT_CONTACT) {
if (!contact->image_is_special && pdnce->getStatus() > ID_STATUS_OFFLINE)
contact->iImage = corecli.pfnGetContactIcon(wParam);
@@ -1686,7 +1684,7 @@ int ClcUnloadModule() return 0;
}
-int ClcDoProtoAck(MCONTACT, ACKDATA *ack)
+int ClcDoProtoAck(ACKDATA *ack)
{
if (MirandaExiting()) return 0;
if (ack->type == ACKTYPE_STATUS) {
@@ -1708,7 +1706,7 @@ int ClcDoProtoAck(MCONTACT, ACKDATA *ack) return 0;
db_set_ws(ack->hContact, "CList", "StatusMsg", (const TCHAR *)ack->lParam);
- gtaRenewText(ack->hContact);
+ pcli->pfnClcBroadcast(INTM_STATUSCHANGED, ack->hContact, 0);
}
else {
if (ack->szModule != NULL)
@@ -1721,7 +1719,7 @@ int ClcDoProtoAck(MCONTACT, ACKDATA *ack) if (mir_strcmpi(val, ""))
db_set_s(ack->hContact, "CList", "StatusMsg", "");
else
- gtaRenewText(ack->hContact);
+ pcli->pfnClcBroadcast(INTM_STATUSCHANGED, ack->hContact, 0);
mir_free(val);
}
}
@@ -1733,43 +1731,6 @@ int ClcDoProtoAck(MCONTACT, ACKDATA *ack) return 0;
}
-int ClcGetShortData(ClcData* pData, SHORTDATA *pShortData)
-{
- if (!pData || !pShortData)
- return -1;
-
- pShortData->hWnd = pData->hWnd;
- pShortData->text_replace_smileys = pData->text_replace_smileys;
- pShortData->text_smiley_height = pData->text_smiley_height;
- pShortData->text_use_protocol_smileys = pData->text_use_protocol_smileys;
- pShortData->contact_time_show_only_if_different = pData->contact_time_show_only_if_different;
-
- // Second line
- pShortData->second_line_show = pData->second_line_show;
- pShortData->second_line_draw_smileys = pData->second_line_draw_smileys;
- pShortData->second_line_type = pData->second_line_type;
-
- mir_tstrncpy(pShortData->second_line_text, pData->second_line_text, _countof(pShortData->second_line_text));
-
- pShortData->second_line_xstatus_has_priority = pData->second_line_xstatus_has_priority;
- pShortData->second_line_show_status_if_no_away = pData->second_line_show_status_if_no_away;
- pShortData->second_line_show_listening_if_no_away = pData->second_line_show_listening_if_no_away;
- pShortData->second_line_use_name_and_message_for_xstatus = pData->second_line_use_name_and_message_for_xstatus;
-
- // Third line
- pShortData->third_line_show = pData->third_line_show;
- pShortData->third_line_draw_smileys = pData->third_line_draw_smileys;
- pShortData->third_line_type = pData->third_line_type;
-
- mir_tstrncpy(pShortData->third_line_text, pData->third_line_text, _countof(pShortData->third_line_text));
-
- pShortData->third_line_xstatus_has_priority = pData->third_line_xstatus_has_priority;
- pShortData->third_line_show_status_if_no_away = pData->third_line_show_status_if_no_away;
- pShortData->third_line_show_listening_if_no_away = pData->third_line_show_listening_if_no_away;
- pShortData->third_line_use_name_and_message_for_xstatus = pData->third_line_use_name_and_message_for_xstatus;
- return 0;
-}
-
int ClcEnterDragToScroll(HWND hwnd, int Y)
{
if (IsDragToScrollMode)
diff --git a/plugins/Clist_modern/src/modern_clc.h b/plugins/Clist_modern/src/modern_clc.h index 72ae4d3b02..b61584cf57 100644 --- a/plugins/Clist_modern/src/modern_clc.h +++ b/plugins/Clist_modern/src/modern_clc.h @@ -64,7 +64,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define TIMERID_SUBEXPAND 21
#define TIMERID_INVALIDATE 22
-#define TIMERID_INVALIDATE_FULL 25
#define TIMERID_RECALCSCROLLBAR 26
#define TIMERID_FIRST TIMERID_RENAME
@@ -221,6 +220,19 @@ struct ClcContact : public ClcContactBase }
};
+struct ClcLineInfo
+{
+ BOOL show;
+ int top_space;
+ BOOL draw_smileys;
+ int type;
+ TCHAR text[TEXT_TEXT_MAX_LENGTH];
+ BOOL xstatus_has_priority;
+ BOOL show_status_if_no_away;
+ BOOL show_listening_if_no_away;
+ BOOL use_name_and_message_for_xstatus;
+};
+
struct ClcModernFontInfo {
HFONT hFont;
int fontHeight, changed;
@@ -301,73 +313,26 @@ struct ClcData : public ClcDataBase BOOL first_line_draw_smileys;
BOOL first_line_append_nick;
- // Second line
- BOOL second_line_show;
- int second_line_top_space;
- BOOL second_line_draw_smileys;
- int second_line_type;
- TCHAR second_line_text[TEXT_TEXT_MAX_LENGTH];
- BOOL second_line_xstatus_has_priority;
- BOOL second_line_show_status_if_no_away;
- BOOL second_line_show_listening_if_no_away;
- BOOL second_line_use_name_and_message_for_xstatus;
-
- // Third line
- BOOL third_line_show;
- int third_line_top_space;
- BOOL third_line_draw_smileys;
- int third_line_type;
- TCHAR third_line_text[TEXT_TEXT_MAX_LENGTH];
- BOOL third_line_xstatus_has_priority;
- BOOL third_line_show_status_if_no_away;
- BOOL third_line_show_listening_if_no_away;
- BOOL third_line_use_name_and_message_for_xstatus;
- struct ClcModernFontInfo fontModernInfo[FONTID_MODERN_MAX + 1];
- HWND hWnd;
- BYTE menuOwnerType;
- int menuOwnerID;
+ // Second & third line
+ ClcLineInfo secondLine, thirdLine;
+
+ ClcModernFontInfo fontModernInfo[FONTID_MODERN_MAX + 1];
+ HWND hWnd;
+ BYTE menuOwnerType;
+ int menuOwnerID;
DWORD m_paintCouter; //range is enoght to 49 days if painting will occure each one millisecond
- BYTE useMetaIcon;
- BYTE drawOverlayedStatus;
- int nInsertionLevel;
+ BYTE useMetaIcon;
+ BYTE drawOverlayedStatus;
+ int nInsertionLevel;
- BYTE dbbMetaHideExtra;
- BYTE dbbBlendInActiveState;
- BYTE dbbBlend25;
+ BYTE dbbMetaHideExtra;
+ BYTE dbbBlendInActiveState;
+ BYTE dbbBlend25;
XPTHANDLE hCheckBoxTheme;
BYTE bCompactMode;
};
-struct SHORTDATA
-{
- HWND hWnd;
- BOOL contact_time_show_only_if_different;
- int text_smiley_height;
- BOOL text_replace_smileys;
- BOOL text_use_protocol_smileys;
-
- // Second line
- BOOL second_line_show;
- BOOL second_line_draw_smileys;
- int second_line_type;
- TCHAR second_line_text[TEXT_TEXT_MAX_LENGTH];
- BOOL second_line_xstatus_has_priority;
- BOOL second_line_show_status_if_no_away;
- BOOL second_line_show_listening_if_no_away;
- BOOL second_line_use_name_and_message_for_xstatus;
-
- // Third line
- BOOL third_line_show;
- BOOL third_line_draw_smileys;
- int third_line_type;
- TCHAR third_line_text[TEXT_TEXT_MAX_LENGTH];
- BOOL third_line_xstatus_has_priority;
- BOOL third_line_show_status_if_no_away;
- BOOL third_line_show_listening_if_no_away;
- BOOL third_line_use_name_and_message_for_xstatus;
-};
-
typedef struct tagOVERLAYICONINFO
{
char *name;
diff --git a/plugins/Clist_modern/src/modern_clcitems.cpp b/plugins/Clist_modern/src/modern_clcitems.cpp index 866b96d512..79df85ad71 100644 --- a/plugins/Clist_modern/src/modern_clcitems.cpp +++ b/plugins/Clist_modern/src/modern_clcitems.cpp @@ -71,7 +71,7 @@ void AddSubcontacts(ClcData *dat, ClcContact *cont, BOOL showOfflineHereGroup) p.image_is_special = FALSE;
//p.status = cacheEntry->status;
Cache_GetTimezone(dat, (&p)->hContact);
- Cache_GetText(dat, &p, 1);
+ Cache_GetText(dat, &p);
char *szProto = cacheEntry->m_pszProto;
if (szProto != NULL && !pcli->pfnIsHiddenMode(dat, wStatus))
@@ -196,7 +196,7 @@ static void _LoadDataToContact(ClcContact *cont, ClcGroup *group, ClcData *dat, cont->lastPaintCounter = 0;
cont->avatar_pos = AVATAR_POS_DONT_HAVE;
Cache_GetAvatar(dat, cont);
- Cache_GetText(dat, cont, 1);
+ Cache_GetText(dat, cont);
Cache_GetTimezone(dat, cont->hContact);
cont->iImage = corecli.pfnGetContactIcon(hContact);
cont->bContactRate = db_get_b(hContact, "CList", "Rate", 0);
diff --git a/plugins/Clist_modern/src/modern_clcpaint.cpp b/plugins/Clist_modern/src/modern_clcpaint.cpp index 5a256386f5..8f1e6d7563 100644 --- a/plugins/Clist_modern/src/modern_clcpaint.cpp +++ b/plugins/Clist_modern/src/modern_clcpaint.cpp @@ -1099,7 +1099,7 @@ void CLCPaint::_PaintRowItemsEx(HDC hdcMem, ClcData *dat, ClcContact *Drawing, R // Select font
UINT uTextFormat = (dat->text_rtl ? DT_RTLREADING : 0);
- if (dat->second_line_show && dat->second_line_type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
+ if (dat->secondLine.show && dat->secondLine.type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
// Get contact time
TCHAR buf[70] = _T("");
mir_free_and_nil(pdnce->szSecondLineText);
@@ -1127,7 +1127,7 @@ void CLCPaint::_PaintRowItemsEx(HDC hdcMem, ClcData *dat, ClcContact *Drawing, R // Select font
UINT uTextFormat = (dat->text_rtl ? DT_RTLREADING : 0);
- if (dat->third_line_show && dat->third_line_type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
+ if (dat->thirdLine.show && dat->thirdLine.type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
// Get contact time
TCHAR buf[70] = _T("");
mir_free(pdnce->szThirdLineText);
@@ -2320,8 +2320,8 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT }
else if (Drawing->type == CLCIT_CONTACT && !CheckMiniMode(dat, selected)) {
int tmp;
- if (dat->second_line_show) {
- if (dat->second_line_type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
+ if (dat->secondLine.show) {
+ if (dat->secondLine.type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
// Get contact time
TCHAR buf[70] = _T("");
TimeZone_PrintDateTime(pdnce->hTimeZone, _T("t"), buf, _countof(buf), 0);
@@ -2329,7 +2329,7 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT pdnce->szSecondLineText = mir_tstrdup(buf);
}
- if (pdnce->szSecondLineText && pdnce->szSecondLineText[0] && free_height > dat->second_line_top_space) {
+ if (pdnce->szSecondLineText && pdnce->szSecondLineText[0] && free_height > dat->secondLine.top_space) {
ChangeToFont(hdcMem, dat, FONTID_SECONDLINE, NULL);
// Get sizes
@@ -2337,7 +2337,7 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT uTextFormat, dat->text_resize_smileys ? 0 : pdnce->ssSecondLine.iMaxSmileyHeight);
// Get rect
- tmp = min(free_height, dat->second_line_top_space + second_line_text_size.cy);
+ tmp = min(free_height, dat->secondLine.top_space + second_line_text_size.cy);
free_height -= tmp;
text_rc.top = free_row_rc.top + (free_height >> 1);
@@ -2351,18 +2351,18 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT selection_text_rc.top = text_rc.top;
selection_text_rc.bottom = min(selection_text_rc.bottom, selection_text_rc.top + text_size.cy);
- max_bottom_selection_border = min(max_bottom_selection_border, dat->second_line_top_space / 2);
+ max_bottom_selection_border = min(max_bottom_selection_border, dat->secondLine.top_space / 2);
}
}
- if (dat->third_line_show) {
- if (dat->third_line_type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
+ if (dat->thirdLine.show) {
+ if (dat->thirdLine.type == TEXT_CONTACT_TIME && pdnce->hTimeZone) {
// Get contact time
TCHAR buf[70] = _T("");
TimeZone_PrintDateTime(pdnce->hTimeZone, _T("t"), buf, _countof(buf), 0);
mir_free(pdnce->szThirdLineText);
pdnce->szThirdLineText = mir_tstrdup(buf);
}
- if (pdnce->szThirdLineText != NULL && pdnce->szThirdLineText[0] && free_height > dat->third_line_top_space) {
+ if (pdnce->szThirdLineText != NULL && pdnce->szThirdLineText[0] && free_height > dat->thirdLine.top_space) {
//RECT rc_tmp = free_row_rc;
ChangeToFont(hdcMem, dat, FONTID_THIRDLINE, NULL);
@@ -2372,7 +2372,7 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT uTextFormat, dat->text_resize_smileys ? 0 : pdnce->ssThirdLine.iMaxSmileyHeight);
// Get rect
- tmp = min(free_height, dat->third_line_top_space + third_line_text_size.cy);
+ tmp = min(free_height, dat->thirdLine.top_space + third_line_text_size.cy);
free_height -= tmp;
text_rc.top = free_row_rc.top + (free_height >> 1);
@@ -2386,7 +2386,7 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT selection_text_rc.top = text_rc.top;
selection_text_rc.bottom = min(selection_text_rc.bottom, selection_text_rc.top + text_size.cy);
- max_bottom_selection_border = min(max_bottom_selection_border, dat->third_line_top_space / 2);
+ max_bottom_selection_border = min(max_bottom_selection_border, dat->thirdLine.top_space / 2);
}
}
@@ -2488,7 +2488,7 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT }
uTextFormat &= ~DT_VCENTER;
if (second_line_text_size.cx > 0 && free_rc.bottom > free_rc.top) {
- free_rc.top += dat->second_line_top_space;
+ free_rc.top += dat->secondLine.top_space;
if (free_rc.bottom > free_rc.top) {
RECT rc = free_rc;
@@ -2506,7 +2506,7 @@ void CLCPaint::_CalcItemsPos(HDC hdcMem, ClcData *dat, ClcContact *Drawing, RECT }
if (third_line_text_size.cx > 0 && free_rc.bottom > free_rc.top) {
- free_rc.top += dat->third_line_top_space;
+ free_rc.top += dat->thirdLine.top_space;
if (free_rc.bottom > free_rc.top) {
RECT rc = free_rc;
diff --git a/plugins/Clist_modern/src/modern_clcutils.cpp b/plugins/Clist_modern/src/modern_clcutils.cpp index f395506d2e..d6e132edff 100644 --- a/plugins/Clist_modern/src/modern_clcutils.cpp +++ b/plugins/Clist_modern/src/modern_clcutils.cpp @@ -595,59 +595,43 @@ void LoadCLCOptions(HWND hwnd, ClcData *dat, BOOL bFirst) // Second line
if (pcli->hwndContactTree == hwnd || pcli->hwndContactTree == NULL) {
- dat->second_line_show = db_get_b(NULL, "CList", "SecondLineShow", SETTING_SECONDLINE_SHOW_DEFAULT);
- dat->second_line_top_space = db_get_w(NULL, "CList", "SecondLineTopSpace", SETTING_SECONDLINE_TOPSPACE_DEFAULT);
- dat->second_line_draw_smileys = db_get_b(NULL, "CList", "SecondLineDrawSmileys", SETTING_SECONDLINE_SMILEYS_DEFAULT);
- dat->second_line_type = db_get_w(NULL, "CList", "SecondLineType", SETTING_SECONDLINE_TYPE_DEFAULT);
+ dat->secondLine.show = db_get_b(NULL, "CList", "SecondLineShow", SETTING_SECONDLINE_SHOW_DEFAULT);
+ dat->secondLine.top_space = db_get_w(NULL, "CList", "SecondLineTopSpace", SETTING_SECONDLINE_TOPSPACE_DEFAULT);
+ dat->secondLine.draw_smileys = db_get_b(NULL, "CList", "SecondLineDrawSmileys", SETTING_SECONDLINE_SMILEYS_DEFAULT);
+ dat->secondLine.type = db_get_w(NULL, "CList", "SecondLineType", SETTING_SECONDLINE_TYPE_DEFAULT);
ptrT tszLineText(db_get_tsa(NULL, "CList", "SecondLineText"));
if (tszLineText)
- mir_tstrncpy(dat->second_line_text, tszLineText, _countof(dat->second_line_text));
+ mir_tstrncpy(dat->secondLine.text, tszLineText, _countof(dat->secondLine.text));
else
- dat->second_line_text[0] = _T('\0');
+ dat->secondLine.text[0] = _T('\0');
- dat->second_line_xstatus_has_priority = db_get_b(NULL, "CList", "SecondLineXStatusHasPriority", SETTING_SECONDLINE_XSTATUS_DEFAULT);
- dat->second_line_show_status_if_no_away = db_get_b(NULL, "CList", "SecondLineShowStatusIfNoAway", SETTING_SECONDLINE_STATUSIFNOAWAY_DEFAULT);
- dat->second_line_show_listening_if_no_away = db_get_b(NULL, "CList", "SecondLineShowListeningIfNoAway", SETTING_SECONDLINE_LISTENINGIFNOAWAY_DEFAULT);
- dat->second_line_use_name_and_message_for_xstatus = db_get_b(NULL, "CList", "SecondLineUseNameAndMessageForXStatus", SETTING_SECONDLINE_XSTATUSNAMETEXT_DEFAULT);
- }
- else {
- dat->second_line_show = 0;
- dat->second_line_top_space = 0;
- dat->second_line_draw_smileys = 0;
- dat->second_line_type = 0;
- dat->second_line_text[0] = _T('\0');
- dat->second_line_xstatus_has_priority = 0;
- dat->second_line_use_name_and_message_for_xstatus = 0;
+ dat->secondLine.xstatus_has_priority = db_get_b(NULL, "CList", "SecondLineXStatusHasPriority", SETTING_SECONDLINE_XSTATUS_DEFAULT);
+ dat->secondLine.show_status_if_no_away = db_get_b(NULL, "CList", "SecondLineShowStatusIfNoAway", SETTING_SECONDLINE_STATUSIFNOAWAY_DEFAULT);
+ dat->secondLine.show_listening_if_no_away = db_get_b(NULL, "CList", "SecondLineShowListeningIfNoAway", SETTING_SECONDLINE_LISTENINGIFNOAWAY_DEFAULT);
+ dat->secondLine.use_name_and_message_for_xstatus = db_get_b(NULL, "CList", "SecondLineUseNameAndMessageForXStatus", SETTING_SECONDLINE_XSTATUSNAMETEXT_DEFAULT);
}
+ else memset(&dat->secondLine, 0, sizeof(dat->secondLine));
// Third line
if (pcli->hwndContactTree == hwnd || pcli->hwndContactTree == NULL) {
- dat->third_line_show = db_get_b(NULL, "CList", "ThirdLineShow", SETTING_THIRDLINE_SHOW_DEFAULT);
- dat->third_line_top_space = db_get_w(NULL, "CList", "ThirdLineTopSpace", SETTING_THIRDLINE_TOPSPACE_DEFAULT);
- dat->third_line_draw_smileys = db_get_b(NULL, "CList", "ThirdLineDrawSmileys", SETTING_THIRDLINE_SMILEYS_DEFAULT);
- dat->third_line_type = db_get_w(NULL, "CList", "ThirdLineType", SETTING_THIRDLINE_TYPE_DEFAULT);
+ dat->thirdLine.show = db_get_b(NULL, "CList", "ThirdLineShow", SETTING_THIRDLINE_SHOW_DEFAULT);
+ dat->thirdLine.top_space = db_get_w(NULL, "CList", "ThirdLineTopSpace", SETTING_THIRDLINE_TOPSPACE_DEFAULT);
+ dat->thirdLine.draw_smileys = db_get_b(NULL, "CList", "ThirdLineDrawSmileys", SETTING_THIRDLINE_SMILEYS_DEFAULT);
+ dat->thirdLine.type = db_get_w(NULL, "CList", "ThirdLineType", SETTING_THIRDLINE_TYPE_DEFAULT);
ptrT tszLineText(db_get_tsa(NULL, "CList", "ThirdLineText"));
if (tszLineText)
- mir_tstrncpy(dat->third_line_text, tszLineText, _countof(dat->third_line_text));
+ mir_tstrncpy(dat->thirdLine.text, tszLineText, _countof(dat->thirdLine.text));
else
- dat->third_line_text[0] = _T('\0');
+ dat->thirdLine.text[0] = _T('\0');
- dat->third_line_xstatus_has_priority = db_get_b(NULL, "CList", "ThirdLineXStatusHasPriority", SETTING_THIRDLINE_XSTATUS_DEFAULT);
- dat->third_line_show_status_if_no_away = db_get_b(NULL, "CList", "ThirdLineShowStatusIfNoAway", SETTING_THIRDLINE_STATUSIFNOAWAY_DEFAULT);
- dat->third_line_show_listening_if_no_away = db_get_b(NULL, "CList", "ThirdLineShowListeningIfNoAway", SETTING_THIRDLINE_LISTENINGIFNOAWAY_DEFAULT);
- dat->third_line_use_name_and_message_for_xstatus = db_get_b(NULL, "CList", "ThirdLineUseNameAndMessageForXStatus", SETTING_THIRDLINE_XSTATUSNAMETEXT_DEFAULT);
- }
- else {
- dat->third_line_show = 0;
- dat->third_line_top_space = 0;
- dat->third_line_draw_smileys = 0;
- dat->third_line_type = TEXT_STATUS_MESSAGE;
- dat->third_line_text[0] = _T('\0');
- dat->third_line_xstatus_has_priority = 1;
- dat->third_line_use_name_and_message_for_xstatus = 0;
+ dat->thirdLine.xstatus_has_priority = db_get_b(NULL, "CList", "ThirdLineXStatusHasPriority", SETTING_THIRDLINE_XSTATUS_DEFAULT);
+ dat->thirdLine.show_status_if_no_away = db_get_b(NULL, "CList", "ThirdLineShowStatusIfNoAway", SETTING_THIRDLINE_STATUSIFNOAWAY_DEFAULT);
+ dat->thirdLine.show_listening_if_no_away = db_get_b(NULL, "CList", "ThirdLineShowListeningIfNoAway", SETTING_THIRDLINE_LISTENINGIFNOAWAY_DEFAULT);
+ dat->thirdLine.use_name_and_message_for_xstatus = db_get_b(NULL, "CList", "ThirdLineUseNameAndMessageForXStatus", SETTING_THIRDLINE_XSTATUSNAMETEXT_DEFAULT);
}
+ else memset(&dat->thirdLine, 0, sizeof(dat->thirdLine));
dat->rightMargin = db_get_b(NULL, "CLC", "RightMargin", CLCDEFAULT_RIGHTMARGIN);
dat->force_in_dialog = (pcli->hwndContactTree) ? (hwnd != pcli->hwndContactTree) : 0;
diff --git a/plugins/Clist_modern/src/modern_clist.h b/plugins/Clist_modern/src/modern_clist.h index 3d321906d0..edce2c60a6 100644 --- a/plugins/Clist_modern/src/modern_clist.h +++ b/plugins/Clist_modern/src/modern_clist.h @@ -59,13 +59,13 @@ public: DestroySmileyList();
}
- void ReplaceSmileys(struct SHORTDATA *dat, ClcCacheEntry *pdnce, TCHAR *szText, BOOL replace_smileys);
+ void ReplaceSmileys(ClcData *dat, ClcCacheEntry *pdnce, TCHAR *szText, BOOL replace_smileys);
/** Destroy smiley list */
void DestroySmileyList();
/** Copy Smiley List */
void _CopySmileyList(SortedList *plInput);
- void AddListeningToIcon(SHORTDATA *dat, TCHAR *szText);
+ void AddListeningToIcon(ClcData *dat, TCHAR *szText);
};
diff --git a/plugins/Clist_modern/src/modern_clistmod.cpp b/plugins/Clist_modern/src/modern_clistmod.cpp index 1de81d7980..2377f671e9 100644 --- a/plugins/Clist_modern/src/modern_clistmod.cpp +++ b/plugins/Clist_modern/src/modern_clistmod.cpp @@ -25,7 +25,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "stdafx.h"
#include "modern_clist.h"
#include "modern_commonprototypes.h"
-#include "modern_gettextasync.h"
#include "modern_sync.h"
#include "modern_clui.h"
#include <m_modernopt.h>
@@ -138,7 +137,6 @@ void UnLoadContactListModule() //unhooks noncritical events int CListMod_ContactListShutdownProc(WPARAM, LPARAM)
{
- gtaShutdown();
FreeDisplayNameCache();
return 0;
}
diff --git a/plugins/Clist_modern/src/modern_clistsettings.cpp b/plugins/Clist_modern/src/modern_clistsettings.cpp index f244b0b54f..0c6ff8b492 100644 --- a/plugins/Clist_modern/src/modern_clistsettings.cpp +++ b/plugins/Clist_modern/src/modern_clistsettings.cpp @@ -26,16 +26,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "modern_clist.h"
#include "modern_commonprototypes.h"
#include "modern_awaymsg.h"
-#include "modern_gettextasync.h"
void InsertContactIntoTree(MCONTACT hContact, int status);
-void CListSettings_FreeCacheItemDataOption(ClcCacheEntry *pDst, DWORD flag);
TCHAR* UnknownConctactTranslatedName = NULL;
void InitDisplayNameCache(void)
{
- InitCacheAsync();
InitAwayMsgModule();
}
@@ -44,96 +41,6 @@ void FreeDisplayNameCache() UninitAwayMsgModule();
}
-void CListSettings_FreeCacheItemData(ClcCacheEntry *pDst)
-{
- CListSettings_FreeCacheItemDataOption(pDst, CCI_ALL);
-}
-
-void CListSettings_FreeCacheItemDataOption(ClcCacheEntry *pDst, DWORD flag)
-{
- if (!pDst)
- return;
-
- if (flag & CCI_NAME)
- mir_free_and_nil(pDst->tszName);
-
- if (flag & CCI_GROUP)
- mir_free_and_nil(pDst->tszGroup);
-
- if (flag & CCI_LINES) {
- mir_free_and_nil(pDst->szSecondLineText);
- mir_free_and_nil(pDst->szThirdLineText);
- pDst->ssSecondLine.DestroySmileyList();
- pDst->ssThirdLine.DestroySmileyList();
- }
-}
-
-int CListSettings_GetCopyFromCache(ClcCacheEntry *pDest, DWORD flag);
-int CListSettings_SetToCache(ClcCacheEntry *pSrc, DWORD flag);
-
-void CListSettings_CopyCacheItems(ClcCacheEntry *pDst, ClcCacheEntry *pSrc, DWORD flag)
-{
- if (!pDst || !pSrc) return;
- CListSettings_FreeCacheItemDataOption(pDst, flag);
-
- if (flag & CCI_NAME) pDst->tszName = mir_tstrdup(pSrc->tszName);
- if (flag & CCI_GROUP) pDst->tszGroup = mir_tstrdup(pSrc->tszGroup);
- if (flag & CCI_PROTO) pDst->m_pszProto = pSrc->m_pszProto;
- if (flag & CCI_STATUS) pDst->m_iStatus = pSrc->m_iStatus;
-
- if (flag & CCI_LINES) {
- mir_free(pDst->szThirdLineText);
- pDst->szThirdLineText = mir_tstrdup(pSrc->szThirdLineText);
-
- mir_free(pDst->szSecondLineText);
- pDst->szSecondLineText = mir_tstrdup(pSrc->szSecondLineText);
-
- pDst->ssThirdLine = pSrc->ssThirdLine;
- pDst->ssSecondLine = pSrc->ssSecondLine;
- }
-
- if (flag & CCI_TIME)
- pDst->hTimeZone = pSrc->hTimeZone;
-
- if (flag & CCI_OTHER) {
- pDst->bIsHidden = pSrc->bIsHidden;
- pDst->m_bNoHiddenOffline = pSrc->m_bNoHiddenOffline;
-
- pDst->m_bIsSub = pSrc->m_bIsSub;
- pDst->ApparentMode = pSrc->ApparentMode;
- pDst->NotOnList = pSrc->NotOnList;
- pDst->IdleTS = pSrc->IdleTS;
- pDst->ClcContact = pSrc->ClcContact;
- pDst->IsExpanded = pSrc->IsExpanded;
- }
-}
-
-int CListSettings_GetCopyFromCache(ClcCacheEntry *pDest, DWORD flag)
-{
- if (!pDest || !pDest->hContact)
- return -1;
-
- ClcCacheEntry *pSource = pcli->pfnGetCacheEntry(pDest->hContact);
- if (!pSource)
- return -1;
-
- CListSettings_CopyCacheItems(pDest, pSource, flag);
- return 0;
-}
-
-int CListSettings_SetToCache(ClcCacheEntry *pSrc, DWORD flag)
-{
- if (!pSrc || !pSrc->hContact)
- return -1;
-
- ClcCacheEntry *pDst = pcli->pfnGetCacheEntry(pSrc->hContact);
- if (!pDst)
- return -1;
-
- CListSettings_CopyCacheItems(pDst, pSrc, flag);
- return 0;
-}
-
void cliFreeCacheItem(ClcCacheEntry *p)
{
mir_free_and_nil(p->tszName);
diff --git a/plugins/Clist_modern/src/modern_clui.cpp b/plugins/Clist_modern/src/modern_clui.cpp index 98a383166a..d2d3919cc2 100644 --- a/plugins/Clist_modern/src/modern_clui.cpp +++ b/plugins/Clist_modern/src/modern_clui.cpp @@ -1227,23 +1227,6 @@ int CLUI_SizingGetWindowRect(HWND hwnd, RECT *rc) }
-int CLUI_SyncGetPDNCE(WPARAM wParam, LPARAM lParam)
-{
- return CListSettings_GetCopyFromCache((ClcCacheEntry *)lParam, wParam ? (DWORD)wParam : CCI_ALL);
-}
-
-int CLUI_SyncSetPDNCE(WPARAM wParam, LPARAM lParam)
-{
- return CListSettings_SetToCache((ClcCacheEntry *)lParam, wParam ? (DWORD)wParam : CCI_ALL);
-}
-
-int CLUI_SyncGetShortData(WPARAM wParam, LPARAM lParam)
-{
- HWND hwnd = (HWND)wParam;
- ClcData *dat = (ClcData *)GetWindowLongPtr(hwnd, 0);
- return ClcGetShortData(dat, (SHORTDATA*)lParam);
-}
-
int CLUI_IconsChanged(WPARAM, LPARAM)
{
if (MirandaExiting())
@@ -2544,9 +2527,6 @@ LRESULT CLUI::OnDestroy(UINT, WPARAM, LPARAM) if (amWakeThread())
wait = TRUE;
- if (gtaWakeThread())
- wait = TRUE;
-
if (wait) {
//need to give them a little time to exit.
Sleep(50);
diff --git a/plugins/Clist_modern/src/modern_commonprototypes.h b/plugins/Clist_modern/src/modern_commonprototypes.h index addd09a319..628ab82fc8 100644 --- a/plugins/Clist_modern/src/modern_commonprototypes.h +++ b/plugins/Clist_modern/src/modern_commonprototypes.h @@ -192,7 +192,7 @@ HICON cliGetIconFromStatusMode(MCONTACT hContact, const char *szProto, int sta HICON GetMainStatusOverlay(int STATUS); //clc.c
int __fastcall CLVM_GetContactHiddenStatus(MCONTACT hContact, char *szStatus, ClcData *dat); //clcitems.c
int BgStatusBarChange(WPARAM wParam, LPARAM lParam); //clcopts.c
-int ClcDoProtoAck(MCONTACT wParam, ACKDATA *ack); //clc.c
+int ClcDoProtoAck(ACKDATA *ack); //clc.c
int ModernSkinButtonDeleteAll(); //modernbutton.c
int GetContactCachedStatus(MCONTACT hContact); //clistsettings.c
int GetContactIconC(ClcCacheEntry *cacheEntry); //clistmod.c
@@ -230,8 +230,7 @@ void UpdateAllAvatars(ClcData *dat); //cac void ApplyViewMode(const char *Name, bool onlySelector = false);
void SaveViewMode(const char *name, const TCHAR *szGroupFilter, const char *szProtoFilter, DWORD statusMask, DWORD stickyStatusMask, unsigned int options, unsigned int stickies, unsigned int operators, unsigned int lmdat);
-//cluiframes.c
-void gtaRenewText(MCONTACT hContact);
+// cluiframes.c
int ExtraImage_ExtraIDToColumnNum(int extra);
int LoadSkinButtonModule();
diff --git a/plugins/Clist_modern/src/modern_gettextasync.cpp b/plugins/Clist_modern/src/modern_gettextasync.cpp deleted file mode 100644 index 7180896a78..0000000000 --- a/plugins/Clist_modern/src/modern_gettextasync.cpp +++ /dev/null @@ -1,172 +0,0 @@ -/*
-
-Miranda NG: the free IM client for Microsoft* Windows*
-
-Copyright (ñ) 2012-16 Miranda NG project (http://miranda-ng.org),
-Copyright (c) 2000-08 Miranda ICQ/IM project,
-all portions of this codebase are copyrighted to the people
-listed in contributors.txt.
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-
-/*
-* Author Artem Shpynov aka FYR
-* Copyright 2000-2008 Artem Shpynov
-*/
-
-//////////////////////////////////////////////////////////////////////////
-// Module to async parsing of texts
-
-#include "stdafx.h"
-#include "modern_gettextasync.h"
-#include "newpluginapi.h"
-#include "modern_sync.h"
-
-int CLUI_SyncSetPDNCE(WPARAM wParam, LPARAM lParam);
-int CLUI_SyncGetShortData(WPARAM wParam, LPARAM lParam);
-
-typedef struct _GetTextAsyncItem {
- MCONTACT hContact;
- ClcData *dat;
- struct _GetTextAsyncItem *Next;
-} GTACHAINITEM;
-
-static GTACHAINITEM *gtaFirstItem = NULL;
-static GTACHAINITEM *gtaLastItem = NULL;
-static mir_cs gtaCS;
-static HANDLE hgtaWakeupEvent = NULL;
-
-static BOOL gtaGetItem(GTACHAINITEM *mpChain)
-{
- if (!mpChain)
- return FALSE;
-
- mir_cslock lck(gtaCS);
- if (!gtaFirstItem)
- return FALSE;
-
- GTACHAINITEM *ch = gtaFirstItem;
- *mpChain = *ch;
- gtaFirstItem = (GTACHAINITEM*)ch->Next;
- if (!gtaFirstItem)
- gtaLastItem = NULL;
- free(ch);
- return TRUE;
-}
-
-static void gtaThreadProc(void*)
-{
- Netlib_Logf(NULL, "GTA thread start");
-
- SHORTDATA data = { 0 };
-
- while (!MirandaExiting()) {
- Sync(CLUI_SyncGetShortData, (WPARAM)pcli->hwndContactTree, (LPARAM)&data);
- while (true) {
- if (MirandaExiting())
- goto LBL_Exit;
-
- SleepEx(0, TRUE); //1000 contacts per second
-
- GTACHAINITEM mpChain = { 0 };
- SHORTDATA dat2 = { 0 };
- if (!gtaGetItem(&mpChain))
- break;
-
- SHORTDATA *dat;
- if (mpChain.dat == NULL || (!IsBadReadPtr(mpChain.dat, sizeof(*mpChain.dat)) && mpChain.dat->hWnd == data.hWnd))
- dat = &data;
- else {
- Sync(CLUI_SyncGetShortData, (WPARAM)mpChain.dat->hWnd, (LPARAM)&dat2);
- dat = &dat2;
- }
- if (MirandaExiting())
- goto LBL_Exit;
-
- ClcCacheEntry cacheEntry;
- memset(&cacheEntry, 0, sizeof(cacheEntry));
- cacheEntry.hContact = mpChain.hContact;
- if (!Sync(CLUI_SyncGetPDNCE, (WPARAM)0, (LPARAM)&cacheEntry)) {
- Cache_GetSecondLineText(dat, &cacheEntry);
- Cache_GetThirdLineText(dat, &cacheEntry);
- Sync(CLUI_SyncSetPDNCE, (WPARAM)CCI_LINES, (LPARAM)&cacheEntry);
- CListSettings_FreeCacheItemData(&cacheEntry);
- }
-
- KillTimer(dat->hWnd, TIMERID_INVALIDATE_FULL);
- CLUI_SafeSetTimer(dat->hWnd, TIMERID_INVALIDATE_FULL, 500, NULL);
- }
-
- WaitForSingleObjectEx(hgtaWakeupEvent, INFINITE, TRUE);
- ResetEvent(hgtaWakeupEvent);
- }
-
-LBL_Exit:
- CloseHandle(hgtaWakeupEvent);
- hgtaWakeupEvent = NULL;
- g_hGetTextAsyncThread = NULL;
- Netlib_Logf(NULL, "GTA thread end");
-}
-
-BOOL gtaWakeThread()
-{
- if (hgtaWakeupEvent && g_hGetTextAsyncThread) {
- SetEvent(hgtaWakeupEvent);
- return TRUE;
- }
-
- return FALSE;
-}
-
-int gtaAddRequest(ClcData *dat, MCONTACT hContact)
-{
- if (MirandaExiting()) return 0;
-
- mir_cslock lck(gtaCS);
-
- GTACHAINITEM *mpChain = (GTACHAINITEM*)malloc(sizeof(GTACHAINITEM));
- mpChain->hContact = hContact;
- mpChain->dat = dat;
- mpChain->Next = NULL;
- if (gtaLastItem) {
- gtaLastItem->Next = (GTACHAINITEM*)mpChain;
- gtaLastItem = mpChain;
- }
- else {
- gtaFirstItem = mpChain;
- gtaLastItem = mpChain;
- SetEvent(hgtaWakeupEvent);
- }
-
- return FALSE;
-}
-
-void gtaRenewText(MCONTACT hContact)
-{
- gtaAddRequest(NULL, hContact);
-}
-
-void gtaShutdown()
-{
- if (hgtaWakeupEvent)
- SetEvent(hgtaWakeupEvent);
-}
-
-void InitCacheAsync()
-{
- hgtaWakeupEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
- g_hGetTextAsyncThread = mir_forkthread(gtaThreadProc, 0);
-}
diff --git a/plugins/Clist_modern/src/modern_gettextasync.h b/plugins/Clist_modern/src/modern_gettextasync.h deleted file mode 100644 index c53039da71..0000000000 --- a/plugins/Clist_modern/src/modern_gettextasync.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once
-void InitCacheAsync();
-
-void gtaRenewText(MCONTACT hContact);
-int gtaAddRequest(ClcData *dat, MCONTACT hContact);
-void gtaShutdown(void);
diff --git a/plugins/Clist_modern/src/modern_rowheight_funcs.cpp b/plugins/Clist_modern/src/modern_rowheight_funcs.cpp index 00119588d1..7a09e62960 100644 --- a/plugins/Clist_modern/src/modern_rowheight_funcs.cpp +++ b/plugins/Clist_modern/src/modern_rowheight_funcs.cpp @@ -159,9 +159,9 @@ int mod_CalcRowHeight_worker(ClcData *dat, ClcContact *contact, int item) case TC_TEXT2:
{
int tmp = 0;
- if (dat->second_line_show && pdnce->szSecondLineText && pdnce->szSecondLineText[0]) {
+ if (dat->secondLine.show && pdnce->szSecondLineText && pdnce->szSecondLineText[0]) {
tmp = dat->fontModernInfo[FONTID_SECONDLINE].fontHeight;
- if (dat->text_replace_smileys && dat->second_line_draw_smileys && !dat->text_resize_smileys)
+ if (dat->text_replace_smileys && dat->secondLine.draw_smileys && !dat->text_resize_smileys)
tmp = max(tmp, pdnce->ssSecondLine.iMaxSmileyHeight);
if (item == -1) {
//calculate text width here
@@ -184,9 +184,9 @@ int mod_CalcRowHeight_worker(ClcData *dat, ClcContact *contact, int item) case TC_TEXT3:
{
int tmp = 0;
- if (dat->third_line_show && pdnce->szThirdLineText && pdnce->szThirdLineText[0]) {
+ if (dat->thirdLine.show && pdnce->szThirdLineText && pdnce->szThirdLineText[0]) {
tmp = dat->fontModernInfo[FONTID_THIRDLINE].fontHeight;
- if (dat->text_replace_smileys && dat->third_line_draw_smileys && !dat->text_resize_smileys)
+ if (dat->text_replace_smileys && dat->thirdLine.draw_smileys && !dat->text_resize_smileys)
tmp = max(tmp, pdnce->ssThirdLine.iMaxSmileyHeight);
if (item == -1) {
//calculate text width here
@@ -397,18 +397,18 @@ int RowHeights_GetMaxRowHeight(ClcData *dat, HWND hwnd) max_height += tmp;
- if (dat->second_line_show) {
+ if (dat->secondLine.show) {
tmp = dat->fontModernInfo[FONTID_SECONDLINE].fontHeight;
- if (dat->text_replace_smileys && dat->second_line_draw_smileys && !dat->text_resize_smileys)
+ if (dat->text_replace_smileys && dat->secondLine.draw_smileys && !dat->text_resize_smileys)
tmp = max(tmp, dat->text_smiley_height);
- max_height += dat->second_line_top_space + tmp;
+ max_height += dat->secondLine.top_space + tmp;
}
- if (dat->third_line_show) {
+ if (dat->thirdLine.show) {
tmp = dat->fontModernInfo[FONTID_THIRDLINE].fontHeight;
- if (dat->text_replace_smileys && dat->third_line_draw_smileys && !dat->text_resize_smileys)
+ if (dat->text_replace_smileys && dat->thirdLine.draw_smileys && !dat->text_resize_smileys)
tmp = max(tmp, dat->text_smiley_height);
- max_height += dat->third_line_top_space + tmp;
+ max_height += dat->thirdLine.top_space + tmp;
}
// Get other font sizes
@@ -545,19 +545,19 @@ int RowHeights_GetRowHeight_worker(ClcData *dat, HWND hwnd, ClcContact *contact, tmp = max(tmp, contact->ssText.iMaxSmileyHeight);
height += tmp;
- if (pdnce) {
- if (!minimalistic && dat->second_line_show && pdnce->szSecondLineText && pdnce->szSecondLineText[0]) {
+ if (pdnce && !minimalistic) {
+ if (dat->secondLine.show && pdnce->szSecondLineText && pdnce->szSecondLineText[0]) {
tmp = dat->fontModernInfo[FONTID_SECONDLINE].fontHeight;
- if (dat->text_replace_smileys && dat->second_line_draw_smileys && !dat->text_resize_smileys)
+ if (dat->text_replace_smileys && dat->secondLine.draw_smileys && !dat->text_resize_smileys)
tmp = max(tmp, pdnce->ssSecondLine.iMaxSmileyHeight);
- height += dat->second_line_top_space + tmp;
+ height += dat->secondLine.top_space + tmp;
}
- if (!minimalistic && dat->third_line_show && pdnce->szThirdLineText && pdnce->szThirdLineText[0]) {
+ if (dat->thirdLine.show && pdnce->szThirdLineText && pdnce->szThirdLineText[0]) {
tmp = dat->fontModernInfo[FONTID_THIRDLINE].fontHeight;
- if (dat->text_replace_smileys && dat->third_line_draw_smileys && !dat->text_resize_smileys)
+ if (dat->text_replace_smileys && dat->thirdLine.draw_smileys && !dat->text_resize_smileys)
tmp = max(tmp, pdnce->ssThirdLine.iMaxSmileyHeight);
- height += dat->third_line_top_space + tmp;
+ height += dat->thirdLine.top_space + tmp;
}
}
}
diff --git a/plugins/Clist_modern/src/modern_static_clui.h b/plugins/Clist_modern/src/modern_static_clui.h index 46ac620ac0..734ea3142a 100644 --- a/plugins/Clist_modern/src/modern_static_clui.h +++ b/plugins/Clist_modern/src/modern_static_clui.h @@ -55,15 +55,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /* Declaration of prototypes in other modules */ int ClcUnloadModule(); -int ClcGetShortData(ClcData* pData, SHORTDATA *pShortData); int ClcEnterDragToScroll(HWND hwnd, int Y); int CListMod_ContactListShutdownProc(WPARAM wParam, LPARAM lParam); int CListMod_HideWindow(HWND hwndContactList, int mode); -int CListSettings_GetCopyFromCache(ClcCacheEntry *pDest, DWORD flag); -int CListSettings_SetToCache(ClcCacheEntry *pSrc, DWORD flag); - int CLUIServices_LoadModule(void); INT_PTR CLUIServices_SortList(WPARAM wParam, LPARAM lParam); @@ -118,5 +114,4 @@ int SizeFramesByWindowRect(RECT *r, HDWP * PosBatch, int mode); //cluiframes.c int InitSkinHotKeys(); BOOL amWakeThread(); -BOOL gtaWakeThread(); void CreateViewModeFrame(); diff --git a/plugins/Clist_modern/src/stdafx.h b/plugins/Clist_modern/src/stdafx.h index 8382e91ae4..196d825723 100644 --- a/plugins/Clist_modern/src/stdafx.h +++ b/plugins/Clist_modern/src/stdafx.h @@ -244,9 +244,6 @@ int AniAva_RenderAvatar(MCONTACT hContact, HDC hdcMem, RECT *rc); #define CCI_OTHER ~( CCI_NAME|CCI_GROUP|CCI_PROTO|CCI_STATUS|CCI_LINES|CCI_TIME )
#define CCI_ALL (0xFFFFFFFF)
-void CListSettings_FreeCacheItemData(ClcCacheEntry *pDst);
-int CLUI_SyncGetPDNCE(WPARAM wParam, LPARAM lParam);
-
/* move to list module */
typedef void(*ItemDestuctor)(void*);
diff --git a/plugins/Clist_nicer/src/clc.cpp b/plugins/Clist_nicer/src/clc.cpp index 18127ae461..35237961cf 100644 --- a/plugins/Clist_nicer/src/clc.cpp +++ b/plugins/Clist_nicer/src/clc.cpp @@ -260,7 +260,6 @@ LRESULT CALLBACK ContactListControlWndProc(HWND hwnd, UINT msg, WPARAM wParam, L KillTimer(hwnd, TIMERID_INFOTIP);
KillTimer(hwnd, TIMERID_RENAME);
pcli->pfnRecalcScrollBar(hwnd, dat);
-LBL_Def:
return DefWindowProc(hwnd, msg, wParam, lParam);
case WM_NCCALCSIZE:
@@ -302,7 +301,7 @@ LBL_Def: dat->needsResort = TRUE;
PostMessage(hwnd, INTM_SORTCLC, 0, 1);
}
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_ICONCHANGED:
{
@@ -369,7 +368,7 @@ LBL_Def: if (recalcScrollBar)
pcli->pfnRecalcScrollBar(hwnd, dat);
}
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_METACHANGED:
if (!pcli->pfnFindItem(hwnd, dat, wParam, &contact, NULL, NULL))
@@ -393,14 +392,14 @@ LBL_Def: }
}
SendMessage(hwnd, INTM_NAMEORDERCHANGED, wParam, lParam);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_METACHANGEDEVENT:
if (!FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL))
break;
if (lParam == 0)
pcli->pfnInitAutoRebuild(hwnd);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_NAMECHANGED:
if (!FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL))
@@ -411,14 +410,15 @@ LBL_Def: dat->needsResort = TRUE;
PostMessage(hwnd, INTM_SORTCLC, 0, 0);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_CODEPAGECHANGED:
if (!FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL))
break;
+
contact->codePage = db_get_dw(wParam, "Tab_SRMsg", "ANSIcodepage", db_get_dw(wParam, "UserInfo", "ANSIcodepage", CP_ACP));
PostMessage(hwnd, INTM_INVALIDATE, 0, 0);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_AVATARCHANGED:
contact = NULL;
@@ -430,7 +430,7 @@ LBL_Def: cfg::dat.bForceRefetchOnPaint = TRUE;
RedrawWindow(hwnd, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW);
cfg::dat.bForceRefetchOnPaint = FALSE;
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
}
if (!FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL))
@@ -453,7 +453,7 @@ LBL_Def: }
PostMessage(hwnd, INTM_INVALIDATE, 0, (LPARAM)contact->hContact);
}
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_STATUSMSGCHANGED:
{
@@ -469,7 +469,7 @@ LBL_Def: GetCachedStatusMsg(p, szProto);
PostMessage(hwnd, INTM_INVALIDATE, 0, contact ? contact->hContact : 0);
}
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_STATUSCHANGED:
if (FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL)) {
@@ -480,7 +480,7 @@ LBL_Def: LoadAvatarForContact(contact);
}
contact->wStatus = wStatus;
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
}
break;
@@ -496,7 +496,7 @@ LBL_Def: dat->needsResort = TRUE;
PostMessage(hwnd, INTM_SORTCLC, 0, 0);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_INVALIDATE:
if (!dat->bNeedPaint) {
@@ -504,18 +504,7 @@ LBL_Def: SetTimer(hwnd, TIMERID_PAINT, 100, NULL);
dat->bNeedPaint = TRUE;
}
- goto LBL_Def;
-
- case INTM_INVALIDATECONTACT:
- if (!FindItem(hwnd, dat, (HANDLE)wParam, &contact, &group, NULL))
- break;
-
- if (contact && group) {
- int iItem = pcli->pfnGetRowsPriorTo(&dat->list, group, List_IndexOf((SortedList*)& group->cl, contact));
- pcli->pfnInvalidateItem(hwnd, dat, iItem);
- goto LBL_Def;
- }
- break;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_FORCESORT:
dat->needsResort = TRUE;
@@ -528,7 +517,7 @@ LBL_Def: }
if (lParam)
pcli->pfnRecalcScrollBar(hwnd, dat);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case INTM_IDLECHANGED:
if (FindItem(hwnd, dat, (HANDLE)wParam, &contact, NULL, NULL)) {
@@ -542,7 +531,7 @@ LBL_Def: contact->flags |= CONTACTF_IDLE;
}
PostMessage(hwnd, INTM_INVALIDATE, 0, (LPARAM)contact->hContact);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
}
break;
@@ -581,7 +570,7 @@ LBL_Def: GetCachedStatusMsg(p, szProto);
PostMessage(hwnd, INTM_INVALIDATE, 0, contact ? contact->hContact : 0);
}
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case WM_PAINT:
{
@@ -598,7 +587,7 @@ LBL_Def: dat->oldSelection = dat->selection;
}
}
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
case WM_MOUSEWHEEL:
dat->forceScroll = TRUE;
@@ -608,12 +597,12 @@ LBL_Def: if (wParam == TIMERID_PAINT) {
KillTimer(hwnd, TIMERID_PAINT);
InvalidateRect(hwnd, NULL, FALSE);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
}
if (wParam == TIMERID_REFRESH) {
InvalidateRect(hwnd, NULL, FALSE);
- goto LBL_Def;
+ return DefWindowProc(hwnd, msg, wParam, lParam);
}
break;
diff --git a/plugins/Clist_nicer/src/clc.h b/plugins/Clist_nicer/src/clc.h index a20582d6cb..58d9c11594 100644 --- a/plugins/Clist_nicer/src/clc.h +++ b/plugins/Clist_nicer/src/clc.h @@ -30,7 +30,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define INTM_SORTCLC (WM_USER+32)
#define INTM_STATUSCHANGED (WM_USER+33)
#define INTM_METACHANGED (WM_USER+34)
-#define INTM_INVALIDATECONTACT (WM_USER+35)
#define INTM_FORCESORT (WM_USER+36)
#define DEFAULT_TITLEBAR_HEIGHT 18
|