void ThumbInfo::RefreshContactStatus(int idStatus) { if (IsStatusVisible(idStatus)) RegisterFileDropping(hwnd, dropTarget); else UnregisterFileDropping(hwnd); ShowWindow(hwnd, fcOpt.bHideAll || HideOnFullScreen() || (fcOpt.bHideOffline && (!IsStatusVisible(idStatus))) || (fcOpt.bHideWhenCListShow && bIsCListShow) ? SW_HIDE : SW_SHOWNA); }
void ShowThumbsOnHideCList() { if (!fcOpt.bHideWhenCListShow || fcOpt.bHideAll || HideOnFullScreen()) return; for (int i = 0; i < thumbList.getCount(); ++i) if (!fcOpt.bHideOffline || IsStatusVisible(GetContactStatus(thumbList[i].hContact))) ShowWindow(thumbList[i].hwnd, SW_SHOWNA); }
static int OnContactDrag(WPARAM hContact, LPARAM) { POINT pt; GetCursorPos(&pt); ThumbInfo *pThumb = thumbList.FindThumbByContact(hContact); if (pThumb == NULL) { int idStatus = GetContactStatus(hContact); if (!fcOpt.bHideAll && !HideOnFullScreen() && (!fcOpt.bHideOffline || IsStatusVisible(idStatus)) && (!fcOpt.bHideWhenCListShow || !bIsCListShow)) { CreateThumbWnd(pcli->pfnGetContactDisplayName(hContact, 0), hContact, pt.x, pt.y); ThumbInfo *pNewThumb = thumbList.FindThumbByContact(hContact); ShowWindow(pNewThumb->hwnd, SW_SHOWNA); hNewContact = hContact; OnStatusChanged(); } } else if (hContact == hNewContact) pThumb->PositionThumb(pt.x - 5, pt.y - 5); return hNewContact != NULL; }