void ReAssignExtraIcons() { ClearExtraIcons(); SetNewExtraColumnCount(); SetAllExtraIcons(pcli->hwndContactTree,0); SendMessage(pcli->hwndContactTree,CLM_AUTOREBUILD,0,0); }
void ReloadExtraIcons() { { int count,i; PROTOCOLDESCRIPTOR **protos; HICON hicon; SendMessage(hwndContactTree,CLM_SETEXTRACOLUMNSSPACE,DBGetContactSettingByte(NULL,"CLUI","ExtraColumnSpace",18),0); SendMessage(hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)NULL); if (hExtraImageList){ImageList_Destroy(hExtraImageList);}; hExtraImageList=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,1,256); memset(ClientImageListIdx,0,sizeof(ClientImageListIdx)); //adding protocol icons CallService(MS_PROTO_ENUMPROTOCOLS,(WPARAM)&count,(LPARAM)&protos); //loading icons hicon=LoadIconFromExternalFile("clisticons.dll",0,TRUE,TRUE,"Email","Contact List",Translate("Email Icon"),-IDI_EMAIL); if (!hicon) hicon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_EMAIL)); ExtraImageIconsIndex[0]=ImageList_AddIcon(hExtraImageList,hicon ); hicon=LoadIconFromExternalFile("clisticons.dll",1,TRUE,TRUE,"Sms","Contact List",Translate("Sms Icon"),-IDI_SMS); if (!hicon) hicon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_SMS)); ExtraImageIconsIndex[1]=ImageList_AddIcon(hExtraImageList,hicon ); hicon=LoadIconFromExternalFile("clisticons.dll",4,TRUE,TRUE,"Web","Contact List",Translate("Web Icon"),-IDI_GLOBUS); if (!hicon) hicon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_GLOBUS)); ExtraImageIconsIndex[2]=ImageList_AddIcon(hExtraImageList,hicon ); //calc only needed protocols for(i=0;i<count;i++) { if(protos[i]->type!=PROTOTYPE_PROTOCOL || CallProtoService(protos[i]->szName,PS_GETCAPS,PFLAGNUM_2,0)==0) continue; ImageList_AddIcon(hExtraImageList,LoadSkinnedProtoIcon(protos[i]->szName,ID_STATUS_ONLINE)); } LoadClientIcons(); SendMessage(hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)hExtraImageList); //SetAllExtraIcons(hImgList); SetNewExtraColumnCount(); NotifyEventHooks(hExtraImageListRebuilding,0,0); ImageCreated=TRUE; TRACE("ReloadExtraIcons Done\r\n"); } };
void ReloadExtraIcons() { int count,i; PROTOACCOUNT **accs; HICON hicon; SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNSSPACE,DBGetContactSettingByte(NULL,"CLUI","ExtraColumnSpace",18),0); SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)NULL); if (hExtraImageList){ImageList_Destroy(hExtraImageList);}; hExtraImageList=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,1,256); if (!HasExtraIconsService()) { //loading icons hicon=LoadIconFromExternalFile("clisticons.dll",0,TRUE,TRUE,"Email","Contact List","Email Icon",-IDI_EMAIL); if (!hicon) hicon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_EMAIL)); ExtraImageIconsIndex[0]=ImageList_AddIcon(hExtraImageList,hicon ); hicon=LoadIconFromExternalFile("clisticons.dll",1,TRUE,TRUE,"Sms","Contact List","Sms Icon",-IDI_SMS); if (!hicon) hicon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_SMS)); ExtraImageIconsIndex[1]=ImageList_AddIcon(hExtraImageList,hicon ); hicon=LoadIconFromExternalFile("clisticons.dll",4,TRUE,TRUE,"Web","Contact List","Web Icon",-IDI_GLOBUS); if (!hicon) hicon=LoadIcon(g_hInst, MAKEINTRESOURCE(IDI_GLOBUS)); ExtraImageIconsIndex[2]=ImageList_AddIcon(hExtraImageList,hicon ); //calc only needed protocols ProtoEnumAccounts( &count, &accs ); for ( i=0; i < count; i++ ) if ( IsAccountEnabled( accs[i] ) && CallProtoService( accs[i]->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0 )) ImageList_AddIcon( hExtraImageList, LoadSkinnedProtoIcon( accs[i]->szModuleName, ID_STATUS_ONLINE )); } SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)hExtraImageList); //SetAllExtraIcons(hImgList); SetNewExtraColumnCount(); NotifyEventHooks(hExtraImageListRebuilding,0,0); ImageCreated=TRUE; }
void ClearExtraIcons() { int i; HANDLE hContact,hItem; //EnabledColumnCount=DBGetContactSettingByte(NULL,CLUIFrameModule,"EnabledColumnCount",5); //SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNS,EnabledColumnCount,0); SetNewExtraColumnCount(); hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0); do { hItem=(HANDLE)SendMessage(pcli->hwndContactTree,CLM_FINDCONTACT,(WPARAM)hContact,0); if (hItem==0){continue;}; for (i=0;i<EnabledColumnCount;i++) { SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(i,0xFF)); }; } while(hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,0)); };
void SetAllExtraIcons(HWND hwndList,HANDLE hContact) { HANDLE hItem; boolean hcontgiven=FALSE; char *szProto; char *ImgIndex[64]; int maxpr,count,i; PROTOACCOUNT **accs; pdisplayNameCacheEntry pdnce; int em,pr,sms,a1,a2,w1,c1; int tick=0; BOOL hasExtraIconsService; hcontgiven=(hContact!=0); if (pcli->hwndContactTree==0){return;}; tick=GetTickCount(); if (ImageCreated==FALSE) ReloadExtraIcons(); SetNewExtraColumnCount(); hasExtraIconsService = HasExtraIconsService(); if (!hasExtraIconsService) { em=ExtraToColumnNum(EXTRA_ICON_EMAIL); pr=ExtraToColumnNum(EXTRA_ICON_PROTO); sms=ExtraToColumnNum(EXTRA_ICON_SMS); a1=ExtraToColumnNum(EXTRA_ICON_ADV1); a2=ExtraToColumnNum(EXTRA_ICON_ADV2); w1=ExtraToColumnNum(EXTRA_ICON_WEB); c1=ExtraToColumnNum(EXTRA_ICON_CLIENT); memset(ImgIndex,0,sizeof(ImgIndex)); ProtoEnumAccounts( &count, &accs ); maxpr=0; //calc only needed protocols for( i=0; i < count; i++ ) { if ( !IsAccountEnabled( accs[i] ) || CallProtoService( accs[i]->szModuleName, PS_GETCAPS, PFLAGNUM_2, 0 ) == 0 ) continue; ImgIndex[maxpr] = accs[i]->szModuleName; maxpr++; } } if ( hContact == NULL ) hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0); do { szProto=NULL; hItem=hContact; if (hItem==0){continue;}; pdnce=(pdisplayNameCacheEntry)pcli->pfnGetCacheEntry(hItem); if (pdnce==NULL) {continue;}; // szProto=(char*)CallService(MS_PROTO_GETCONTACTBASEPROTO,(WPARAM)hContact,0); szProto=pdnce->szProto; if (!hasExtraIconsService) { if (ExtraToColumnNum(EXTRA_ICON_WEB)!=-1) { boolean showweb=FALSE; if (szProto != NULL) { char *homepage; homepage=DBGetStringA(pdnce->hContact,"UserInfo", "Homepage"); if (!homepage) homepage=DBGetStringA(pdnce->hContact,pdnce->szProto, "Homepage"); if (homepage!=NULL) { showweb=TRUE; mir_free(homepage); } } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_WEB),(showweb)?2:0xFF)); } if (ExtraToColumnNum(EXTRA_ICON_EMAIL)!=-1) { DBVARIANT dbv={0}; boolean showemail=TRUE; if (szProto == NULL || DBGetContactSettingString(hContact, szProto, "e-mail",&dbv)) { DBFreeVariant(&dbv); if (DBGetContactSettingString(hContact, "UserInfo", "Mye-mail0", &dbv)) showemail=FALSE; } DBFreeVariant(&dbv); SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_EMAIL),(showemail)?0:0xFF)); } if (ExtraToColumnNum(EXTRA_ICON_SMS)!=-1) { DBVARIANT dbv={0}; boolean showsms=TRUE; if (szProto == NULL || DBGetContactSettingString(hContact, szProto, "Cellular",&dbv)) { DBFreeVariant(&dbv); if (DBGetContactSettingString(hContact, "UserInfo", "MyPhone0", &dbv)) showsms=FALSE; } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_SMS),(showsms)?1:0xFF)); DBFreeVariant(&dbv); } if(ExtraToColumnNum(EXTRA_ICON_PROTO)!=-1) { for (i=0;i<maxpr;i++) { if(!MyStrCmp(ImgIndex[i],szProto)) { SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_PROTO),i+3)); break; } } } } NotifyEventHooks(hExtraImageApplying,(WPARAM)hContact,0); if (hcontgiven) break; Sleep(0); } while(hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,0)); tick=GetTickCount()-tick; InvalidateRect(hwndList,NULL,FALSE); Sleep(0); }
void ExtraImage_SetAllExtraIcons(HWND hwndList,HANDLE hContact) { HANDLE hItem; int locApparentMode=0; char * locApparentModeProto=NULL; boolean hcontgiven=FALSE; char *szProto; char *(ImgIndex[64]); int maxpr,count,i; PROTOACCOUNT **accs; pdisplayNameCacheEntry pdnce; int em,pr,sms,a1,a2,w1,c1; int tick=0; g_mutex_bSetAllExtraIconsCycle=1; hcontgiven=(hContact!=0); if (pcli->hwndContactTree==0){return;}; tick=GetTickCount(); if (ImageCreated==FALSE) ExtraImage_ReloadExtraIcons(); SetNewExtraColumnCount(); BOOL hasExtraIconsService = HasExtraIconsService(); if (!hasExtraIconsService) { em=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL); pr=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO); sms=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_SMS); a1=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_ADV1); a2=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_ADV2); w1=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB); c1=ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_CLIENT); memset( ImgIndex, 0, sizeof( ImgIndex ) ); ProtoEnumAccounts( &count, &accs ); maxpr=0; //calc only needed protocols for(i=0;i<count;i++) { if ( !IsAccountEnabled( accs[i] ) || CallProtoService(accs[i]->szModuleName,PS_GETCAPS,PFLAGNUM_2,0)==0) continue; ImgIndex[maxpr]=accs[i]->szModuleName; maxpr++; } } if (hContact==NULL) { hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0); } do { szProto=NULL; hItem=hContact; if (hItem==0){continue;}; pdnce=(pdisplayNameCacheEntry)pcli->pfnGetCacheEntry(hItem); if (pdnce==NULL) {continue;}; // szProto=(char*)CallService(MS_PROTO_GETCONTACTBASEPROTO,(WPARAM)hContact,0); szProto=pdnce->m_cache_cszProto; if (!hasExtraIconsService) { { boolean showweb; showweb=FALSE; if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB)!=-1) { if (szProto != NULL) { char *homepage; homepage= ModernGetStringA(pdnce->m_cache_hContact,"UserInfo", "Homepage"); if (!homepage) homepage= ModernGetStringA(pdnce->m_cache_hContact,pdnce->m_cache_cszProto, "Homepage"); if (homepage!=NULL) { showweb=TRUE; mir_free_and_nill(homepage); } } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_WEB),(showweb)?2:0xFF)); } } { DBVARIANT dbv={0}; boolean showemail; showemail=TRUE; if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL)!=-1) { if (szProto == NULL || ModernGetSettingString(hContact, szProto, "e-mail",&dbv)) { ModernDBFreeVariant(&dbv); if (ModernGetSettingString(hContact, "UserInfo", "Mye-mail0", &dbv)) showemail=FALSE; } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_EMAIL),(showemail)?0:0xFF)); ModernDBFreeVariant(&dbv); } } { DBVARIANT dbv={0}; boolean showsms; showsms=TRUE; if (ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_SMS)!=-1) { if (szProto == NULL || ModernGetSettingString(hContact, szProto, "Cellular",&dbv)) { ModernDBFreeVariant(&dbv); if (ModernGetSettingString(hContact, "UserInfo", "MyPhone0", &dbv)) showsms=FALSE; } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_SMS),(showsms)?1:0xFF)); ModernDBFreeVariant(&dbv); } } if(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO)!=-1) { for (i=0;i<maxpr;i++) { if(!mir_strcmp(ImgIndex[i],szProto)) { SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_PROTO),i+3)); break; }; }; }; if(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_VISMODE)!=-1) { BYTE iconIndex=0xFF; if (szProto != NULL) { if (!ModernGetSettingByte(hContact, szProto, "ChatRoom", 0)) { if (pdnce->ApparentMode==ID_STATUS_OFFLINE) iconIndex=ExtraImageIconsIndex[4]; else if (pdnce->ApparentMode==ID_STATUS_ONLINE) { if (szProto!=locApparentModeProto) { locApparentModeProto=szProto; locApparentMode=CallProtoService(locApparentModeProto,PS_GETSTATUS,0,0); } if(locApparentMode == ID_STATUS_INVISIBLE || ModernGetSettingByte(NULL,"CList","AlwaysShowAlwaysVisIcon",SETTING_ALWAYSVISICON_DEFAULT) == 1) iconIndex=ExtraImageIconsIndex[3]; } } else { if (pdnce->ApparentMode==ID_STATUS_OFFLINE) iconIndex=ExtraImageIconsIndex[5]; else iconIndex=255; } } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraImage_ExtraIDToColumnNum(EXTRA_ICON_VISMODE),iconIndex)); } } NotifyEventHooks(g_CluiData.hEventExtraImageApplying,(WPARAM)hContact,0); if (hcontgiven) break; Sleep(0); } while(hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,0)); tick=GetTickCount()-tick; g_mutex_bSetAllExtraIconsCycle=0; CLUI__cliInvalidateRect(hwndList,NULL,FALSE); Sleep(0); }
void ExtraImage_ReloadExtraIcons() { int count,i; PROTOACCOUNT **accs; HICON hicon; BOOL needFree; SendMessage(pcli->hwndContactTree,CLM_SETEXTRACOLUMNSSPACE,ModernGetSettingByte(NULL,"CLUI","ExtraColumnSpace",18),0); SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,0,(LPARAM)NULL); if (hExtraImageList){ImageList_Destroy(hExtraImageList);}; if (hWideExtraImageList){ImageList_Destroy(hWideExtraImageList);}; hExtraImageList=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,1,256); hWideExtraImageList=ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),ILC_COLOR32|ILC_MASK,1,256); if (!HasExtraIconsService()) { HICON hIcon; //loading icons hIcon = LoadSkinnedIcon(SKINICON_OTHER_SENDEMAIL); ExtraImageIconsIndex[0]=ImageList_AddIcon(hExtraImageList, hIcon); CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0); hIcon = LoadSkinnedIcon(SKINICON_OTHER_SMS); ExtraImageIconsIndex[1]=ImageList_AddIcon(hExtraImageList, hIcon); CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0); hIcon = LoadSkinnedIcon(SKINICON_EVENT_URL); ExtraImageIconsIndex[2]=ImageList_AddIcon(hExtraImageList, hIcon); CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0); //calc only needed protocols //adding protocol icons ProtoEnumAccounts( &count, &accs ); for(i=0;i<count;i++) { if (!IsAccountEnabled(accs[i]) || CallProtoService(accs[i]->szModuleName, PS_GETCAPS,PFLAGNUM_2, 0 )== 0) continue; hIcon = LoadSkinnedProtoIcon(accs[i]->szModuleName,ID_STATUS_ONLINE); ImageList_AddIcon(hExtraImageList, hIcon); CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0); } hicon=CLUI_LoadIconFromExternalFile("clisticons.dll",5,TRUE,TRUE,"AlwaysVis","Contact List",Translate("Always Visible"),-IDI_ALWAYSVIS,&needFree); if (!hicon) {hicon=LoadSmallIcon(g_hInst, MAKEINTRESOURCE(IDI_ALWAYSVIS));needFree=TRUE;} ExtraImageIconsIndex[3]=ImageList_AddIcon(hExtraImageList,hicon ); if (needFree) DestroyIcon_protect(hicon); hicon=CLUI_LoadIconFromExternalFile("clisticons.dll",6,TRUE,TRUE,"NeverVis","Contact List",Translate("Never Visible"),-IDI_NEVERVIS,&needFree); if (!hicon) {hicon=LoadSmallIcon(g_hInst, MAKEINTRESOURCE(IDI_NEVERVIS));needFree=TRUE;} ExtraImageIconsIndex[4]=ImageList_AddIcon(hExtraImageList,hicon ); if (needFree) DestroyIcon_protect(hicon); hicon=CLUI_LoadIconFromExternalFile("clisticons.dll",7,TRUE,TRUE,"ChatActivity","Contact List",Translate("Chat Activity"),-IDI_CHAT,&needFree); if (!hicon) {hicon=LoadSmallIcon(g_hInst, MAKEINTRESOURCE(IDI_CHAT));needFree=TRUE;} ExtraImageIconsIndex[5]=ImageList_AddIcon(hExtraImageList,hicon ); if (needFree) DestroyIcon_protect(hicon); } SendMessage(pcli->hwndContactTree,CLM_SETEXTRAIMAGELIST,(WPARAM)hWideExtraImageList,(LPARAM)hExtraImageList); //ExtraImage_SetAllExtraIcons(hImgList); SetNewExtraColumnCount(); NotifyEventHooks(g_CluiData.hEventExtraImageListRebuilding,0,0); ImageCreated=TRUE; }
void SetAllExtraIcons(HWND hwndList,HANDLE hContact) { HANDLE hItem; boolean hcontgiven=FALSE; char *szProto; char *(ImgIndex[64]); int maxpr,count,i; PROTOCOLDESCRIPTOR **protos; pdisplayNameCacheEntry pdnce; int em,pr,sms,a1,a2,w1,c1; int tick=0; int inphcont=(int)hContact; ON_SETALLEXTRAICON_CYCLE=1; hcontgiven=(hContact!=0); if (hwndContactTree==0){return;}; tick=GetTickCount(); if (ImageCreated==FALSE) ReloadExtraIcons(); SetNewExtraColumnCount(); { em=ExtraToColumnNum(EXTRA_ICON_EMAIL); pr=ExtraToColumnNum(EXTRA_ICON_PROTO); sms=ExtraToColumnNum(EXTRA_ICON_SMS); a1=ExtraToColumnNum(EXTRA_ICON_ADV1); a2=ExtraToColumnNum(EXTRA_ICON_ADV2); w1=ExtraToColumnNum(EXTRA_ICON_WEB); c1=ExtraToColumnNum(EXTRA_ICON_CLIENT); }; memset(&ImgIndex,0,sizeof(&ImgIndex)); CallService(MS_PROTO_ENUMPROTOCOLS,(WPARAM)&count,(LPARAM)&protos); maxpr=0; //calc only needed protocols for(i=0;i<count;i++) { if(protos[i]->type!=PROTOTYPE_PROTOCOL || CallProtoService(protos[i]->szName,PS_GETCAPS,PFLAGNUM_2,0)==0) continue; ImgIndex[maxpr]=protos[i]->szName; maxpr++; } if (hContact==NULL) { hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDFIRST,0,0); } do { szProto=NULL; hItem=hContact; if (hItem==0){continue;}; pdnce=GetDisplayNameCacheEntry(hItem); if (pdnce==NULL) {continue;}; // szProto=(char*)CallService(MS_PROTO_GETCONTACTBASEPROTO,(WPARAM)hContact,0); szProto=pdnce->szProto; { DBVARIANT dbv={0}; boolean showweb; showweb=FALSE; if (ExtraToColumnNum(EXTRA_ICON_WEB)!=-1) { if (szProto != NULL) { char *homepage; homepage=DBGetStringA(pdnce->hContact,"UserInfo", "Homepage"); if (!homepage) homepage=DBGetStringA(pdnce->hContact,pdnce->szProto, "Homepage"); if (homepage!=NULL) { showweb=TRUE; mir_free(homepage); } } PostMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_WEB),(showweb)?2:0xFF)); if (dbv.pszVal!=NULL) mir_free(dbv.pszVal); } } { DBVARIANT dbv={0}; boolean showemail; showemail=TRUE; if (ExtraToColumnNum(EXTRA_ICON_EMAIL)!=-1) { if (szProto == NULL || DBGetContactSetting(hContact, szProto, "e-mail",&dbv)) { if (dbv.pszVal) mir_free(dbv.pszVal); if (DBGetContactSetting(hContact, "UserInfo", "Mye-mail0", &dbv)) { showemail=FALSE; if (dbv.pszVal) mir_free(dbv.pszVal); DBFreeVariant(&dbv); } } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_EMAIL),(showemail)?0:0xFF)); if (dbv.pszVal!=NULL) mir_free(dbv.pszVal); DBFreeVariant(&dbv); } } { DBVARIANT dbv={0}; boolean showsms; showsms=TRUE; if (ExtraToColumnNum(EXTRA_ICON_SMS)!=-1) { if (szProto == NULL || DBGetContactSetting(hContact, szProto, "Cellular",&dbv)) { if (dbv.pszVal) mir_free(dbv.pszVal); if (DBGetContactSetting(hContact, "UserInfo", "MyPhone0", &dbv)) { showsms=FALSE; if (dbv.pszVal) mir_free(dbv.pszVal); DBFreeVariant(&dbv); } } SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_SMS),(showsms)?1:0xFF)); if (dbv.pszVal!=NULL) mir_free(dbv.pszVal); DBFreeVariant(&dbv); } } if(ExtraToColumnNum(EXTRA_ICON_CLIENT)!=-1) { if(szProto==NULL) {continue;}; if (pdnce->ci.idxClientIcon!=0&&pdnce->ci.idxClientIcon!=-1) { SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_CLIENT),pdnce->ci.idxClientIcon)); } if(ExtraToColumnNum(EXTRA_ICON_PROTO)!=-1) { for (i=0;i<maxpr;i++) { if(!MyStrCmp(ImgIndex[i],szProto)) { SendMessage(hwndList,CLM_SETEXTRAIMAGE,(WPARAM)hItem,MAKELPARAM(ExtraToColumnNum(EXTRA_ICON_PROTO),i+3)); break; }; }; }; }; NotifyEventHooks(hExtraImageApplying,(WPARAM)hContact,0); if (hcontgiven) break; Sleep(0); } while(hContact=(HANDLE)CallService(MS_DB_CONTACT_FINDNEXT,(WPARAM)hContact,0)); tick=GetTickCount()-tick; if (tick>0) { char buf[256]; mir_snprintf(buf,sizeof(buf),"SetAllExtraIcons %d ms, for %x\r\n",tick,inphcont); TRACE(buf); DBWriteContactSettingDword((HANDLE)0,"CLUI","PF:Last SetAllExtraIcons Time:",tick); } ON_SETALLEXTRAICON_CYCLE=0; //InvalidateRectZ(hwndList,NULL,FALSE); Sleep(0); }