From f12d8b56f2894e94491bd7424d69f595d285f01f Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 3 Nov 2012 20:16:42 +0000 Subject: no more MS_CLIST_EXTRA_ADD_ICON in the application code git-svn-id: http://svn.miranda-ng.org/main/trunk@2175 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Gender/src/main.cpp | 141 ++++++++++---------------------------------- 1 file changed, 30 insertions(+), 111 deletions(-) (limited to 'plugins/Gender/src/main.cpp') diff --git a/plugins/Gender/src/main.cpp b/plugins/Gender/src/main.cpp index 9f8c46f623..7a3d2297d7 100644 --- a/plugins/Gender/src/main.cpp +++ b/plugins/Gender/src/main.cpp @@ -27,19 +27,12 @@ HINSTANCE g_hInst; -static HANDLE hHookModulesLoaded = NULL, hSystemOKToExit = NULL, hOptInitialise = NULL, hIcoLibIconsChanged = NULL; -static HANDLE hHookExtraIconsRebuild = NULL, hHookExtraIconsApply = NULL, hContactMenu = NULL; -static HANDLE hContactMenuMale = NULL, hContactMenuFemale = NULL, hContactMenuNotDef = NULL, hHookPrebuildContactMenu = NULL; +static HANDLE hContactMenu = NULL, hContactMenuMale = NULL, hContactMenuFemale = NULL, hContactMenuNotDef = NULL; static HANDLE hSetMale = NULL, hSetFemale = NULL, hSetUndef = NULL, hGenderGetIcon = NULL; HANDLE g_hExtraIcon = NULL; HANDLE g_hIconMale, g_hIconFemale, g_hIconMenu; -IconExtraColumn g_IECMale = {0}; -IconExtraColumn g_IECFemale = {0}; -IconExtraColumn g_IECUndef = {0}; -IconExtraColumn g_IECClear = {0}; -int clistIcon = 0; // Icon slot to use byte bEnableClistIcon = 1; // do we need clist icon? byte bDrawNoGenderIcon = 0; // enable icon when no info? byte bContactMenuItems = 1; // do we need a contact menu items? @@ -79,74 +72,35 @@ extern "C" __declspec(dllexport) PLUGININFOEX* MirandaPluginInfoEx(DWORD miranda void setIcon(HANDLE hContact, unsigned int gender) { - if (g_hExtraIcon != NULL) - { - char *ico; - switch (gender) - { - case 77: ico = "male_icon"; break; - case 70: ico = "female_icon"; break; - default: ico = (bDrawNoGenderIcon ? "menu_icon" : NULL); break; - } - ExtraIcon_SetIcon(g_hExtraIcon, hContact, ico); - } - else - { - IconExtraColumn *col; - switch (gender) - { - case 77: col = &g_IECMale; break; - case 70: col = &g_IECFemale; break; - default: col = (bDrawNoGenderIcon ? &g_IECUndef : &g_IECClear); break; - } - CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM)hContact, (LPARAM)col); + char *ico; + switch (gender) { + case 77: ico = "male_icon"; break; + case 70: ico = "female_icon"; break; + default: ico = (bDrawNoGenderIcon ? "menu_icon" : NULL); break; } + ExtraIcon_SetIcon(g_hExtraIcon, hContact, ico); } -int onExtraImageApplying(WPARAM wParam, LPARAM lParam) +int applyExtraImage(HANDLE hContact) { - if (g_hExtraIcon == NULL && !bEnableClistIcon) return 0; + if (!bEnableClistIcon) return 0; - HANDLE hContact = (HANDLE)wParam; - if (bMetaAvail) - { - HANDLE hMetacontact = (HANDLE)CallService(MS_MC_GETMOSTONLINECONTACT, wParam, 0); - if (hMetacontact != NULL) hContact = hMetacontact; + if (bMetaAvail) { + HANDLE hMetacontact = (HANDLE)CallService(MS_MC_GETMOSTONLINECONTACT, (WPARAM)hContact, 0); + if (hMetacontact != NULL) + hContact = hMetacontact; } - char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, wParam, 0); - if (!proto) return 0; + char *proto = (char *)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0); + if (!proto) + return 0; - if (DBGetContactSettingByte((HANDLE)wParam, proto, "ChatRoom", 0)) return 0; + if ( DBGetContactSettingByte(hContact, proto, "ChatRoom", 0)) + return 0; unsigned int gender = DBGetContactSettingByte(hContact, "UserInfo", "Gender", DBGetContactSettingByte(hContact, proto, "Gender", 0)); setIcon(hContact, gender); - if ((HANDLE)wParam != hContact) - setIcon((HANDLE)wParam, gender); - - return 0; -} - -int onExtraImageListRebuild(WPARAM wParam, LPARAM lParam) -{ - g_IECMale.cbSize = sizeof(IconExtraColumn); - g_IECMale.ColumnType = clistIcon; - g_IECFemale.cbSize = sizeof(IconExtraColumn); - g_IECFemale.ColumnType = clistIcon; - g_IECUndef.cbSize = sizeof(IconExtraColumn); - g_IECUndef.ColumnType = clistIcon; - - if (ServiceExists(MS_CLIST_EXTRA_ADD_ICON)) - { - if(hIcoLibIconsChanged) - { - g_IECMale.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)Skin_GetIconByHandle(g_hIconMale), 0); - g_IECFemale.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)Skin_GetIconByHandle(g_hIconFemale), 0); - g_IECUndef.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)Skin_GetIconByHandle(g_hIconMenu), 0); - } - } - return 0; } @@ -240,14 +194,14 @@ INT_PTR onSetFemale(WPARAM wParam,LPARAM lParam) INT_PTR onSetUndef(WPARAM wParam,LPARAM lParam) { DBDeleteContactSetting((HANDLE)wParam, "UserInfo", "Gender"); - onExtraImageApplying(wParam, 0); + applyExtraImage((HANDLE)wParam); int metasnum = (bMetaAvail ? CallService(MS_MC_GETNUMCONTACTS,wParam,0) : 0); for(int i=0; i