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/commonheaders.h | 1 - plugins/Gender/src/main.cpp | 141 ++++++++----------------------------- plugins/Gender/src/options.cpp | 128 ++++++++------------------------- plugins/Gender/src/resource.h | 4 -- 4 files changed, 59 insertions(+), 215 deletions(-) (limited to 'plugins/Gender/src') diff --git a/plugins/Gender/src/commonheaders.h b/plugins/Gender/src/commonheaders.h index bdea1613da..1971484888 100644 --- a/plugins/Gender/src/commonheaders.h +++ b/plugins/Gender/src/commonheaders.h @@ -59,7 +59,6 @@ #include "m_metacontacts.h" #include "m_extraicons.h" -static const int DefaultSlot = EXTRA_ICON_ADV2; #define MODULENAME "Gender" #endif //COMMHEADERS_H 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; iidFrom == 0) - switch (((LPNMHDR)lParam)->code) - { - case PSN_APPLY: - { - HANDLE hContact; + case WM_NOTIFY: + if (((LPNMHDR)lParam)->idFrom == 0) + switch (((LPNMHDR)lParam)->code) { + case PSN_APPLY: + { bDrawNoGenderIcon = IsDlgButtonChecked(hwndDlg, IDC_DRAWUNDEFICON); - - if (g_hExtraIcon == NULL) - { - clistIcon = SendMessage(GetDlgItem(hwndDlg, IDC_ADVICON), CB_GETCURSEL, 0, 0); - DBWriteContactSettingByte(NULL, MODULENAME, "AdvancedIcon", clistIcon); - - if (bEnableClistIcon) - { - hContact = db_find_first(); - while (hContact) - { - CallService(MS_CLIST_EXTRA_SET_ICON, (WPARAM)hContact, (LPARAM)&g_IECClear); - hContact = db_find_next(hContact); - } - } - - bEnableClistIcon = (clistIcon != 0); - - if (bEnableClistIcon) - { - g_IECClear.ColumnType = clistIcon; - onExtraImageListRebuild(0,0); - } - } - if (g_hExtraIcon != NULL || bEnableClistIcon) - { - hContact = db_find_first(); - while (hContact) - { - onExtraImageApplying((WPARAM)hContact,0); - hContact = db_find_next(hContact); - } + HANDLE hContact = db_find_first(); + while (hContact) { + applyExtraImage(hContact); + hContact = db_find_next(hContact); } - + DBWriteContactSettingByte(NULL, MODULENAME, "ClistIcon", bEnableClistIcon); DBWriteContactSettingByte(NULL, MODULENAME, "NoGenderIcon", bDrawNoGenderIcon); DBWriteContactSettingByte(NULL, MODULENAME, "MenuItems", IsDlgButtonChecked(hwndDlg, IDC_MENUITEMS)); } return TRUE; - } } - - case WM_DESTROY: - break; } return FALSE; } diff --git a/plugins/Gender/src/resource.h b/plugins/Gender/src/resource.h index 8ea2786991..765b554966 100644 --- a/plugins/Gender/src/resource.h +++ b/plugins/Gender/src/resource.h @@ -6,12 +6,8 @@ #define IDI_MALE 101 #define IDI_FEMALE 102 #define IDI_UNDEF 103 -#define IDC_ADVICON 1001 #define IDC_MENUITEMS 1002 #define IDC_DRAWUNDEFICON 1003 -#define IDC_USE_L 1004 -#define IDC_SLOT_L 1005 -#define IDC_NOTE_L 1006 // Next default values for new objects // -- cgit v1.2.3