diff options
30 files changed, 33 insertions, 38 deletions
diff --git a/bin10/lib/mir_app.lib b/bin10/lib/mir_app.lib Binary files differindex f387672bef..a6393c746c 100644 --- a/bin10/lib/mir_app.lib +++ b/bin10/lib/mir_app.lib diff --git a/bin10/lib/mir_app64.lib b/bin10/lib/mir_app64.lib Binary files differindex 1c2630deeb..e65d5a7cb5 100644 --- a/bin10/lib/mir_app64.lib +++ b/bin10/lib/mir_app64.lib diff --git a/bin12/lib/mir_app.lib b/bin12/lib/mir_app.lib Binary files differindex f387672bef..a6393c746c 100644 --- a/bin12/lib/mir_app.lib +++ b/bin12/lib/mir_app.lib diff --git a/bin12/lib/mir_app64.lib b/bin12/lib/mir_app64.lib Binary files differindex 1c2630deeb..e65d5a7cb5 100644 --- a/bin12/lib/mir_app64.lib +++ b/bin12/lib/mir_app64.lib diff --git a/bin14/lib/mir_app.lib b/bin14/lib/mir_app.lib Binary files differindex f387672bef..a6393c746c 100644 --- a/bin14/lib/mir_app.lib +++ b/bin14/lib/mir_app.lib diff --git a/bin14/lib/mir_app64.lib b/bin14/lib/mir_app64.lib Binary files differindex 1c2630deeb..e65d5a7cb5 100644 --- a/bin14/lib/mir_app64.lib +++ b/bin14/lib/mir_app64.lib 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 <assert.h>
#include <math.h>
#include <Shlwapi.h>
+#include <CommCtrl.h>
#include <newpluginapi.h>
#include <m_system_cpp.h>
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
|