From 5e49edfe66308d79bd8095acb1c89d0e987c7aa4 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 6 Sep 2016 16:51:39 +0000 Subject: Clist_GetImageList() git-svn-id: http://svn.miranda-ng.org/main/trunk@17266 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- bin10/lib/mir_app.lib | Bin 73200 -> 73434 bytes bin10/lib/mir_app64.lib | Bin 70586 -> 70802 bytes bin12/lib/mir_app.lib | Bin 73200 -> 73434 bytes bin12/lib/mir_app64.lib | Bin 70586 -> 70802 bytes bin14/lib/mir_app.lib | Bin 73200 -> 73434 bytes bin14/lib/mir_app64.lib | Bin 70586 -> 70802 bytes include/delphi/m_api.pas | 2 +- include/delphi/m_clist.inc | 10 +++------- include/m_clist.h | 8 ++++---- plugins/Clist_blind/src/init.cpp | 4 ++-- plugins/Clist_modern/src/modern_clc.cpp | 2 +- plugins/Clist_nicer/src/clc.cpp | 2 +- plugins/FavContacts/src/menu.cpp | 2 +- plugins/FloatingContacts/src/main.cpp | 2 +- plugins/FloatingContacts/src/stdafx.h | 1 + plugins/FloatingContacts/src/thumbs.cpp | 2 +- plugins/HistoryPlusPlus/GlobalSearch.pas | 2 +- plugins/NewAwaySysMod/src/ContactList.cpp | 2 +- plugins/QuickContacts/src/quickcontacts.cpp | 2 +- plugins/QuickSearch/sr_window.pas | 3 +-- plugins/RecentContacts/src/RecentContacts.cpp | 2 +- plugins/TipperYM/src/popwin.cpp | 2 +- plugins/Utils.pas/protocols.pas | 6 ++---- protocols/IcqOscarJ/src/icq_xstatus.cpp | 2 +- protocols/JabberG/src/jabber_icolib.cpp | 2 +- protocols/Steam/src/steam_xstatus.cpp | 2 +- src/core/stdclist/src/init.cpp | 4 ++-- src/mir_app/src/clistmod.cpp | 5 ++--- src/mir_app/src/mir_app.def | 1 + src/mir_app/src/mir_app64.def | 1 + 30 files changed, 33 insertions(+), 38 deletions(-) diff --git a/bin10/lib/mir_app.lib b/bin10/lib/mir_app.lib index f387672bef..a6393c746c 100644 Binary files a/bin10/lib/mir_app.lib and b/bin10/lib/mir_app.lib differ diff --git a/bin10/lib/mir_app64.lib b/bin10/lib/mir_app64.lib index 1c2630deeb..e65d5a7cb5 100644 Binary files a/bin10/lib/mir_app64.lib and b/bin10/lib/mir_app64.lib differ diff --git a/bin12/lib/mir_app.lib b/bin12/lib/mir_app.lib index f387672bef..a6393c746c 100644 Binary files a/bin12/lib/mir_app.lib and b/bin12/lib/mir_app.lib differ diff --git a/bin12/lib/mir_app64.lib b/bin12/lib/mir_app64.lib index 1c2630deeb..e65d5a7cb5 100644 Binary files a/bin12/lib/mir_app64.lib and b/bin12/lib/mir_app64.lib differ diff --git a/bin14/lib/mir_app.lib b/bin14/lib/mir_app.lib index f387672bef..a6393c746c 100644 Binary files a/bin14/lib/mir_app.lib and b/bin14/lib/mir_app.lib differ diff --git a/bin14/lib/mir_app64.lib b/bin14/lib/mir_app64.lib index 1c2630deeb..e65d5a7cb5 100644 Binary files a/bin14/lib/mir_app64.lib and b/bin14/lib/mir_app64.lib differ diff --git a/include/delphi/m_api.pas b/include/delphi/m_api.pas index f51f6e2ddd..e7a5a82b91 100644 --- a/include/delphi/m_api.pas +++ b/include/delphi/m_api.pas @@ -42,7 +42,7 @@ interface {$ENDIF} uses - Windows,Messages;//, FreeImage; + Windows,CommCtrl,Messages;//, FreeImage; // often used const diff --git a/include/delphi/m_clist.inc b/include/delphi/m_clist.inc index 13b5a08cda..ea4ce13e31 100644 --- a/include/delphi/m_clist.inc +++ b/include/delphi/m_clist.inc @@ -116,16 +116,11 @@ const CLEF_PROTOCOLGLOBAL = 8; // set event globally for protocol, hContact has to // be NULL, lpszProtocol the protocol ID name to be set - { - wParam : 0 - lParam : 0 - Affect : Get the image list handle with all the useful icons in it - Version: v0.1.1.0+ - } - MS_CLIST_GETICONSIMAGELIST:PAnsiChar = 'CList/GetIconsImageList'; IMAGE_GROUPOPEN = 11; IMAGE_GROUPSHUT = 12; + function Clist_GetImageList : HIMAGELIST; stdcall; external AppDll; + { wParam : TMCONTACT lParam : ICON_ID @@ -133,6 +128,7 @@ const ICON_ID is an index to what image has changed Version: v0.1.2.1+ } +const ME_CLIST_CONTACTICONCHANGED:PAnsiChar = 'CList/ContactIconChanged'; //******************************* CLUI only ********************************* diff --git a/include/m_clist.h b/include/m_clist.h index 89edcc38f9..68e269b71e 100644 --- a/include/m_clist.h +++ b/include/m_clist.h @@ -258,15 +258,15 @@ typedef struct { ///////////////////////////////////////////////////////////////////////////////////////// // gets the image list with all the useful icons in it -// wParam = lParam = 0 -// returns a HIMAGELIST // the members of this image list are opaque, and you should trust what you are given -#define MS_CLIST_GETICONSIMAGELIST "CList/GetIconsImageList" - #define IMAGE_GROUPOPEN 11 #define IMAGE_GROUPSHUT 12 +#ifdef _INC_COMMCTRL +EXTERN_C MIR_APP_DLL(HIMAGELIST) Clist_GetImageList(void); +#endif + ///////////////////////////////////////////////////////////////////////////////////////// // The icon of a contact in the contact list has changed // wParam = (MCONTACT)hContact diff --git a/plugins/Clist_blind/src/init.cpp b/plugins/Clist_blind/src/init.cpp index d09979acad..18e9ad813c 100644 --- a/plugins/Clist_blind/src/init.cpp +++ b/plugins/Clist_blind/src/init.cpp @@ -92,7 +92,7 @@ extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_CLIST, static int OnAccountsChanged(WPARAM, LPARAM) { - himlCListClc = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + himlCListClc = Clist_GetImageList(); return 0; } @@ -101,7 +101,7 @@ static int OnAccountsChanged(WPARAM, LPARAM) static int OnModulesLoaded(WPARAM, LPARAM) { - himlCListClc = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + himlCListClc = Clist_GetImageList(); return 0; } diff --git a/plugins/Clist_modern/src/modern_clc.cpp b/plugins/Clist_modern/src/modern_clc.cpp index 1cd8e95663..683f0bd7d4 100644 --- a/plugins/Clist_modern/src/modern_clc.cpp +++ b/plugins/Clist_modern/src/modern_clc.cpp @@ -1623,7 +1623,7 @@ static int clcHookModulesLoaded(WPARAM, LPARAM) HRESULT ClcLoadModule() { - g_himlCListClc = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + g_himlCListClc = Clist_GetImageList(); HookEvent(ME_MC_SUBCONTACTSCHANGED, clcMetacontactChanged); HookEvent(ME_MC_ENABLED, clcMetaModeChanged); diff --git a/plugins/Clist_nicer/src/clc.cpp b/plugins/Clist_nicer/src/clc.cpp index 7d25e6faf0..189717d6c6 100644 --- a/plugins/Clist_nicer/src/clc.cpp +++ b/plugins/Clist_nicer/src/clc.cpp @@ -204,7 +204,7 @@ int LoadCLCModule(void) g_cxsmIcon = GetSystemMetrics(SM_CXSMICON); g_cysmIcon = GetSystemMetrics(SM_CYSMICON); - hCListImages = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + hCListImages = Clist_GetImageList(); HookEvent(ME_MC_ENABLED, ClcMetamodeChanged); HookEvent(ME_DB_CONTACT_SETTINGCHANGED, ClcSettingChanged); diff --git a/plugins/FavContacts/src/menu.cpp b/plugins/FavContacts/src/menu.cpp index 0a24b6ecd3..92775dee70 100644 --- a/plugins/FavContacts/src/menu.cpp +++ b/plugins/FavContacts/src/menu.cpp @@ -241,7 +241,7 @@ static BOOL sttDrawItem_Contact(LPDRAWITEMSTRUCT lpdis, Options *options = NULL) char *proto = GetContactProto(hContact); - HIMAGELIST hIml = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + HIMAGELIST hIml = Clist_GetImageList(); int iIcon = pcli->pfnGetContactIcon(hContact); if (db_get_dw(hContact, proto, "IdleTS", 0)) { diff --git a/plugins/FloatingContacts/src/main.cpp b/plugins/FloatingContacts/src/main.cpp index 0988542780..0f7b433256 100644 --- a/plugins/FloatingContacts/src/main.cpp +++ b/plugins/FloatingContacts/src/main.cpp @@ -211,7 +211,7 @@ static int OnContactDragStop(WPARAM hContact, LPARAM) static int OnSkinIconsChanged(WPARAM, LPARAM) { // Get handle to the image list - himlMiranda = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + himlMiranda = Clist_GetImageList(); // Update thumbs for (int i = 0; i < thumbList.getCount(); ++i) diff --git a/plugins/FloatingContacts/src/stdafx.h b/plugins/FloatingContacts/src/stdafx.h index b983665732..fb438647d6 100644 --- a/plugins/FloatingContacts/src/stdafx.h +++ b/plugins/FloatingContacts/src/stdafx.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include diff --git a/plugins/FloatingContacts/src/thumbs.cpp b/plugins/FloatingContacts/src/thumbs.cpp index 8fb1a3c5f4..f1d3447e74 100644 --- a/plugins/FloatingContacts/src/thumbs.cpp +++ b/plugins/FloatingContacts/src/thumbs.cpp @@ -237,7 +237,7 @@ void ThumbInfo::ResizeThumb() { int index = FLT_FONTID_NOTONLIST; - himlMiranda = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + himlMiranda = Clist_GetImageList(); if (himlMiranda == NULL) return; diff --git a/plugins/HistoryPlusPlus/GlobalSearch.pas b/plugins/HistoryPlusPlus/GlobalSearch.pas index 44eb3283ea..5beb129b1d 100644 --- a/plugins/HistoryPlusPlus/GlobalSearch.pas +++ b/plugins/HistoryPlusPlus/GlobalSearch.pas @@ -443,7 +443,7 @@ begin ContactList := TObjectList.Create; - ilContacts.Handle := CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + ilContacts.Handle := Clist_GetImageList(); // delphi 2006 doesn't save toolbar's flat property in dfm if it is True // delphi 2006 doesn't save toolbar's edgeborder property in dfm ToolBar.Flat := True; diff --git a/plugins/NewAwaySysMod/src/ContactList.cpp b/plugins/NewAwaySysMod/src/ContactList.cpp index 8a472008de..561292c9b1 100644 --- a/plugins/NewAwaySysMod/src/ContactList.cpp +++ b/plugins/NewAwaySysMod/src/ContactList.cpp @@ -343,7 +343,7 @@ CCList::CCList(HWND hTreeView) : CWndUserData(GetParent(hTreeView)).SetCList(this); OrigTreeViewProc = (WNDPROC)SetWindowLongPtr(hTreeView, GWLP_WNDPROC, (LONG_PTR)ContactListSubclassProc); OrigParentProc = (WNDPROC)SetWindowLongPtr(GetParent(hTreeView), GWLP_WNDPROC, (LONG_PTR)ParentSubclassProc); - TreeView_SetImageList(hTreeView, CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0), TVSIL_NORMAL); + TreeView_SetImageList(hTreeView, Clist_GetImageList(), TVSIL_NORMAL); WindowList_Add(hCLWindowList, hTreeView, NULL); TreeView_SetIndent(hTreeView, 5); // doesn't set it less than the initial value on my system, and i guess it's because of icons... but who knows - maybe it will work somewhere } diff --git a/plugins/QuickContacts/src/quickcontacts.cpp b/plugins/QuickContacts/src/quickcontacts.cpp index bc09d7f4aa..6f38d59d36 100644 --- a/plugins/QuickContacts/src/quickcontacts.cpp +++ b/plugins/QuickContacts/src/quickcontacts.cpp @@ -183,7 +183,7 @@ int ModulesLoaded(WPARAM, LPARAM) } // Get the icons for the listbox - hIml = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST,0,0); + hIml = Clist_GetImageList(); // Add menu item CMenuItem mi; diff --git a/plugins/QuickSearch/sr_window.pas b/plugins/QuickSearch/sr_window.pas index a2f96e4098..3ed4343e6d 100644 --- a/plugins/QuickSearch/sr_window.pas +++ b/plugins/QuickSearch/sr_window.pas @@ -1970,8 +1970,7 @@ begin grid:=GetDlgItem(Dialog,IDC_LIST); // ListView - ListView_SetImageList(grid, - CallService(MS_CLIST_GETICONSIMAGELIST,0,0),LVSIL_SMALL); + ListView_SetImageList(grid,Clist_GetImageList,LVSIL_SMALL); tmp:=LVS_EX_FULLROWSELECT or LVS_EX_SUBITEMIMAGES or LVS_EX_HEADERDRAGDROP or LVS_EX_LABELTIP or LVS_EX_DOUBLEBUFFER; diff --git a/plugins/RecentContacts/src/RecentContacts.cpp b/plugins/RecentContacts/src/RecentContacts.cpp index 72441c76e9..499ce50241 100644 --- a/plugins/RecentContacts/src/RecentContacts.cpp +++ b/plugins/RecentContacts/src/RecentContacts.cpp @@ -213,7 +213,7 @@ INT_PTR CALLBACK ShowListMainDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM ListView_InsertColumn(hList, 0, &lvc); // add conacts to listview - HIMAGELIST hImgList = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + HIMAGELIST hImgList = Clist_GetImageList(); if (hImgList != NULL) ListView_SetImageList(hList, hImgList, LVSIL_SMALL); diff --git a/plugins/TipperYM/src/popwin.cpp b/plugins/TipperYM/src/popwin.cpp index f10def056c..b7fa55bcb7 100644 --- a/plugins/TipperYM/src/popwin.cpp +++ b/plugins/TipperYM/src/popwin.cpp @@ -318,7 +318,7 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa // status icon if (pwd->bIsIconVisible[0]) { for (i = 0; opt.exIconsOrder[i] != 0; i++); - pwd->extraIcons[i].hIcon = ImageList_GetIcon((HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0), pwd->iIconIndex, 0); + pwd->extraIcons[i].hIcon = ImageList_GetIcon(Clist_GetImageList(), pwd->iIconIndex, 0); pwd->extraIcons[i].bDestroy = true; } diff --git a/plugins/Utils.pas/protocols.pas b/plugins/Utils.pas/protocols.pas index bb57e337ad..f4526a6c09 100644 --- a/plugins/Utils.pas/protocols.pas +++ b/plugins/Utils.pas/protocols.pas @@ -226,8 +226,7 @@ begin begin SetWindowLongPtrW(list,GWL_STYLE, GetWindowLongPtrW(list,GWL_STYLE) or LVS_SHAREIMAGELISTS); - ListView_SetImageList(list, - CallService(MS_CLIST_GETICONSIMAGELIST,0,0),LVSIL_SMALL); + ListView_SetImageList(list,Clist_GetImageList,LVSIL_SMALL); lvc.mask:=LVCF_FMT+LVCF_IMAGE end else @@ -309,8 +308,7 @@ begin begin SetWindowLongPtrW(list,GWL_STYLE, GetWindowLongPtrW(list,GWL_STYLE) or LVS_SHAREIMAGELISTS); - ListView_SetImageList(list, - CallService(MS_CLIST_GETICONSIMAGELIST,0,0),LVSIL_SMALL); + ListView_SetImageList(list,Clist_GetImageList,LVSIL_SMALL); lvc.mask:=LVCF_FMT+LVCF_IMAGE end else diff --git a/protocols/IcqOscarJ/src/icq_xstatus.cpp b/protocols/IcqOscarJ/src/icq_xstatus.cpp index 417541d349..ee65c1f2f9 100644 --- a/protocols/IcqOscarJ/src/icq_xstatus.cpp +++ b/protocols/IcqOscarJ/src/icq_xstatus.cpp @@ -1110,7 +1110,7 @@ INT_PTR CIcqProto::RequestAdvStatusIconIdx(WPARAM wParam, LPARAM) if (bXStatus) { if (!bXStatusCListIconsValid[bXStatus - 1]) { // adding icon int idx = hXStatusCListIcons[bXStatus - 1]; - HIMAGELIST hCListImageList = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + HIMAGELIST hCListImageList = Clist_GetImageList(); if (hCListImageList) { HICON hXStatusIcon = getXStatusIcon(bXStatus, LR_SHARED); diff --git a/protocols/JabberG/src/jabber_icolib.cpp b/protocols/JabberG/src/jabber_icolib.cpp index 1a83ffad04..ccfb693037 100644 --- a/protocols/JabberG/src/jabber_icolib.cpp +++ b/protocols/JabberG/src/jabber_icolib.cpp @@ -310,7 +310,7 @@ int CJabberProto::LoadAdvancedIcons(int iID) mir_snwprintf(Group, LPGENW("Status icons")L"/%s/%S %s", m_tszUserName, proto, TranslateT("transport")); mir_snprintf(defFile, "proto_%s.dll", proto); if (!hAdvancedStatusIcon) - hAdvancedStatusIcon = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + hAdvancedStatusIcon = Clist_GetImageList(); mir_cslock lck(m_csModeMsgMutex); for (int i = 0; i < ID_STATUS_ONTHEPHONE - ID_STATUS_OFFLINE; i++) { diff --git a/protocols/Steam/src/steam_xstatus.cpp b/protocols/Steam/src/steam_xstatus.cpp index ea8796448a..bf6812cad4 100644 --- a/protocols/Steam/src/steam_xstatus.cpp +++ b/protocols/Steam/src/steam_xstatus.cpp @@ -121,7 +121,7 @@ INT_PTR CSteamProto::OnRequestAdvStatusIconIdx(WPARAM wParam, LPARAM) if (std::find(xstatusIconsValid.begin(), xstatusIconsValid.end(), status) == xstatusIconsValid.end()) { // adding/updating icon - HIMAGELIST clistImageList = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + HIMAGELIST clistImageList = Clist_GetImageList(); if (clistImageList) { HICON hXStatusIcon = GetXStatusIcon(status, LR_SHARED); diff --git a/src/core/stdclist/src/init.cpp b/src/core/stdclist/src/init.cpp index 8c3a6d471d..2373ac2c35 100644 --- a/src/core/stdclist/src/init.cpp +++ b/src/core/stdclist/src/init.cpp @@ -84,7 +84,7 @@ extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_CLIST, static int OnAccountsChanged(WPARAM, LPARAM) { - himlCListClc = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + himlCListClc = Clist_GetImageList(); return 0; } @@ -96,7 +96,7 @@ static int OnModulesLoaded(WPARAM, LPARAM) { HookEvent(ME_MODERNOPT_INITIALIZE, OnModernOptsInit); RegisterCListFonts(); - himlCListClc = (HIMAGELIST)CallService(MS_CLIST_GETICONSIMAGELIST, 0, 0); + himlCListClc = Clist_GetImageList(); return 0; } diff --git a/src/mir_app/src/clistmod.cpp b/src/mir_app/src/clistmod.cpp index 13f82b29ae..b74a591854 100644 --- a/src/mir_app/src/clistmod.cpp +++ b/src/mir_app/src/clistmod.cpp @@ -243,9 +243,9 @@ MIR_APP_DLL(void) Clist_ContactDoubleClicked(MCONTACT hContact) } } -static INT_PTR GetIconsImageList(WPARAM, LPARAM) +MIR_APP_DLL(HIMAGELIST) Clist_GetImageList(void) { - return (INT_PTR)hCListImages; + return hCListImages; } static int CListIconsChanged(WPARAM, LPARAM) @@ -431,7 +431,6 @@ int LoadContactListModule2(void) hCListImages = ImageList_Create(16, 16, ILC_MASK | ILC_COLOR32, 13, 0); HookEvent(ME_SKIN_ICONSCHANGED, CListIconsChanged); - CreateServiceFunction(MS_CLIST_GETICONSIMAGELIST, GetIconsImageList); ImageList_AddIcon_NotShared(hCListImages, MAKEINTRESOURCE(IDI_BLANK)); diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index 4f2eee5936..c54c104990 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -271,3 +271,4 @@ Clist_MenuProcessHotkey @270 Clist_ContactChangeGroup @271 Clist_ContactCompare @272 Clist_ContactDoubleClicked @273 +Clist_GetImageList @274 diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index a046bfaf97..90a51705a2 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -271,3 +271,4 @@ Clist_MenuProcessHotkey @270 Clist_ContactChangeGroup @271 Clist_ContactCompare @272 Clist_ContactDoubleClicked @273 +Clist_GetImageList @274 -- cgit v1.2.3