From b0f44b16bd1138de85a5d17bb42151742f9c8298 Mon Sep 17 00:00:00 2001 From: Kirill Volinsky Date: Mon, 11 Sep 2017 23:48:27 +0300 Subject: Tipper: all icons added to icolib (fixes #302) --- plugins/TipperYM/src/options.cpp | 66 ++++++++++++++++++++++------------------ plugins/TipperYM/src/popwin.cpp | 6 ++-- plugins/TipperYM/src/stdafx.h | 1 + plugins/TipperYM/src/tipper.cpp | 13 ++++++++ 4 files changed, 53 insertions(+), 33 deletions(-) diff --git a/plugins/TipperYM/src/options.cpp b/plugins/TipperYM/src/options.cpp index 278ffb70f6..3ca7f1a096 100644 --- a/plugins/TipperYM/src/options.cpp +++ b/plugins/TipperYM/src/options.cpp @@ -749,35 +749,47 @@ static void SetTreeItemText(DIListNode *node, wchar_t **pszText) *pszText = node->di.swzLabel; } -static OPTBUTTON btns[9] = { - IDC_BTN_ADD, SKINICON_OTHER_ADDCONTACT, 0, LPGENW("Add item"), - IDC_BTN_SEPARATOR, 0, IDI_SEPARATOR, LPGENW("Add separator"), - IDC_BTN_EDIT, SKINICON_OTHER_RENAME, 0, LPGENW("Edit"), - IDC_BTN_REMOVE, SKINICON_OTHER_DELETE, 0, LPGENW("Remove"), - IDC_BTN_UP, 0, IDI_UP, LPGENW("Move up"), - IDC_BTN_DOWN, 0, IDI_DOWN, LPGENW("Move down"), - IDC_BTN_ADD2, SKINICON_OTHER_ADDCONTACT, 0, LPGENW("Add"), - IDC_BTN_REMOVE2, SKINICON_OTHER_DELETE, 0, LPGENW("Remove"), - IDC_BTN_EDIT2, SKINICON_OTHER_RENAME, 0, LPGENW("Edit") -}; - INT_PTR CALLBACK DlgProcOptsContent(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: TranslateDialogDefault(hwndDlg); - for (int i = 0; i < _countof(btns); i++) { - SendDlgItemMessage(hwndDlg, btns[i].id, BUTTONSETASFLATBTN, TRUE, 0); - SendDlgItemMessage(hwndDlg, btns[i].id, BUTTONADDTOOLTIP, (WPARAM)TranslateW(btns[i].swzTooltip), BATF_UNICODE); - if (btns[i].uintCoreIconId) - SendDlgItemMessage(hwndDlg, btns[i].id, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(btns[i].uintCoreIconId)); - else { - HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(btns[i].uintResIconId)); - SendDlgItemMessage(hwndDlg, btns[i].id, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); - } - } + SendDlgItemMessage(hwndDlg, IDC_BTN_ADD, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_ADD, BUTTONADDTOOLTIP, (WPARAM)Translate("Add item"), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_ADD, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_ADDCONTACT)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_SEPARATOR, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_SEPARATOR, BUTTONADDTOOLTIP, (WPARAM)Translate(iconList[4].szDescr), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_SEPARATOR, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(iconList[4].hIcolib)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_EDIT, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_EDIT, BUTTONADDTOOLTIP, (WPARAM)Translate("Edit"), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_EDIT, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_RENAME)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_REMOVE, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_REMOVE, BUTTONADDTOOLTIP, (WPARAM)Translate("Remove"), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_REMOVE, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_DELETE)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_UP, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_UP, BUTTONADDTOOLTIP, (WPARAM)Translate(iconList[2].szDescr), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_UP, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(iconList[2].hIcolib)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_DOWN, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_DOWN, BUTTONADDTOOLTIP, (WPARAM)Translate(iconList[3].szDescr), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_DOWN, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(iconList[3].hIcolib)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_ADD2, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_ADD2, BUTTONADDTOOLTIP, (WPARAM)Translate("Add"), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_ADD2, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_ADDCONTACT)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_REMOVE2, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_REMOVE2, BUTTONADDTOOLTIP, (WPARAM)Translate("Remove"), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_REMOVE2, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_DELETE)); + + SendDlgItemMessage(hwndDlg, IDC_BTN_EDIT2, BUTTONSETASFLATBTN, TRUE, 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_EDIT2, BUTTONADDTOOLTIP, (WPARAM)Translate("Edit"), 0); + SendDlgItemMessage(hwndDlg, IDC_BTN_EDIT2, BM_SETIMAGE, IMAGE_ICON, (LPARAM)Skin_LoadIcon(SKINICON_OTHER_RENAME)); SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_TREE_FIRST_ITEMS), GWL_STYLE, GetWindowLongPtr(GetDlgItem(hwndDlg, IDC_TREE_FIRST_ITEMS), GWL_STYLE) | TVS_CHECKBOXES); { @@ -1704,15 +1716,11 @@ INT_PTR CALLBACK DlgProcOptsSkin(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM l SendDlgItemMessage(hwndDlg, IDC_BTN_RELOADLIST, BUTTONSETASFLATBTN, TRUE, 0); SendDlgItemMessage(hwndDlg, IDC_BTN_RELOADLIST, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Reload skin list"), BATF_UNICODE); - HICON hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_RELOAD)); - SendDlgItemMessage(hwndDlg, IDC_BTN_RELOADLIST, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); + SendDlgItemMessage(hwndDlg, IDC_BTN_RELOADLIST, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(iconList[5].hIcolib)); SendDlgItemMessage(hwndDlg, IDC_BTN_APPLYSKIN, BUTTONSETASFLATBTN, TRUE, 0); SendDlgItemMessage(hwndDlg, IDC_BTN_APPLYSKIN, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Apply skin"), BATF_UNICODE); - hIcon = LoadIcon(hInst, MAKEINTRESOURCE(IDI_APPLY)); - SendDlgItemMessage(hwndDlg, IDC_BTN_APPLYSKIN, BM_SETIMAGE, IMAGE_ICON, (LPARAM)hIcon); - DestroyIcon(hIcon); + SendDlgItemMessage(hwndDlg, IDC_BTN_APPLYSKIN, BM_SETIMAGE, IMAGE_ICON, (LPARAM)IcoLib_GetIconByHandle(iconList[6].hIcolib)); SendDlgItemMessage(hwndDlg, IDC_BTN_GETSKINS, BUTTONSETASFLATBTN, TRUE, 0); SendDlgItemMessage(hwndDlg, IDC_BTN_GETSKINS, BUTTONADDTOOLTIP, (WPARAM)TranslateT("Get more skins"), BATF_UNICODE); diff --git a/plugins/TipperYM/src/popwin.cpp b/plugins/TipperYM/src/popwin.cpp index b7fa55bcb7..6e8cebc7eb 100644 --- a/plugins/TipperYM/src/popwin.cpp +++ b/plugins/TipperYM/src/popwin.cpp @@ -730,7 +730,7 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa if (!hMenu) return 0; - HICON hIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_ITEM_ALL), IMAGE_ICON, 0, 0, LR_LOADTRANSPARENT); + HICON hIcon = IcoLib_GetIconByHandle(iconList[1].hIcolib); if (!hIcon) { DestroyMenu(hMenu); return 0; @@ -739,7 +739,6 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa ICONINFO iconInfo; GetIconInfo(hIcon, &iconInfo); HBITMAP hbmpAllItems = iconInfo.hbmColor; - DestroyIcon(hIcon); AppendMenu(hMenu, MF_STRING, COPYMENU_ALLITEMS_LABELS, LPGENW("Copy all items with labels")); AppendMenu(hMenu, MF_STRING, COPYMENU_ALLITEMS, LPGENW("Copy all items")); @@ -752,7 +751,7 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa SetMenuItemBitmaps(hMenu, COPYMENU_ALLITEMS, MF_BYCOMMAND, hbmpAllItems, hbmpAllItems); SetMenuItemBitmaps(hMenu, COPYMENU_AVATAR, MF_BYCOMMAND, hbmpAllItems, hbmpAllItems); - hIcon = (HICON)LoadImage(hInst, MAKEINTRESOURCE(IDI_ITEM), IMAGE_ICON, 0, 0, LR_LOADTRANSPARENT); + hIcon = IcoLib_GetIconByHandle(iconList[0].hIcolib); if (!hIcon) { DeleteObject(hbmpAllItems); DestroyMenu(hMenu); @@ -761,7 +760,6 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa GetIconInfo(hIcon, &iconInfo); HBITMAP hbmpItem = iconInfo.hbmColor; - DestroyIcon(hIcon); for (int i = 0; i < pwd->iRowCount; i++) { if (pwd->rows[i].swzValue) { diff --git a/plugins/TipperYM/src/stdafx.h b/plugins/TipperYM/src/stdafx.h index b6facc2c8d..69e8600e38 100644 --- a/plugins/TipperYM/src/stdafx.h +++ b/plugins/TipperYM/src/stdafx.h @@ -83,3 +83,4 @@ extern TOOLTIPSKIN skin; extern wchar_t SKIN_FOLDER[256]; extern int ReloadFont(WPARAM wParam, LPARAM lParam); +extern IconItem iconList[]; diff --git a/plugins/TipperYM/src/tipper.cpp b/plugins/TipperYM/src/tipper.cpp index 8d274db355..2350634fd2 100644 --- a/plugins/TipperYM/src/tipper.cpp +++ b/plugins/TipperYM/src/tipper.cpp @@ -314,6 +314,17 @@ static INT_PTR ReloadSkin(WPARAM wParam, LPARAM lParam) return 0; } +IconItem iconList[] = +{ + { LPGEN("Copy item"), "copy_item", IDI_ITEM }, + { LPGEN("Copy all items"), "copy_all_items", IDI_ITEM_ALL }, + { LPGEN("Arrow up"), "arrow_up", IDI_UP }, + { LPGEN("Arrow down"), "arrow_down", IDI_DOWN }, + { LPGEN("Separator"), "separator", IDI_SEPARATOR }, + { LPGEN("Reload"), "reload", IDI_RELOAD }, + { LPGEN("Apply"), "apply", IDI_APPLY } +}; + extern "C" int __declspec(dllexport) Load(void) { CallService(MS_IMG_GETINTERFACE, FI_IF_VERSION, (LPARAM)&fii); @@ -322,6 +333,8 @@ extern "C" int __declspec(dllexport) Load(void) iCodePage = Langpack_GetDefaultCodePage(); + Icon_Register(hInst, MODULE, iconList, _countof(iconList), MODULE); + InitTranslations(); InitMessagePump(); InitOptions(); -- cgit v1.2.3