From a70382b0e8bed265a1d314d9f6aae8f2dd48d20b Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 28 Nov 2012 18:45:54 +0000 Subject: ex-protos moved to the Plugins folder git-svn-id: http://svn.miranda-ng.org/main/trunk@2545 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Quotes/src/IconLib.cpp | 94 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 plugins/Quotes/src/IconLib.cpp (limited to 'plugins/Quotes/src/IconLib.cpp') diff --git a/plugins/Quotes/src/IconLib.cpp b/plugins/Quotes/src/IconLib.cpp new file mode 100644 index 0000000000..9ac96599a5 --- /dev/null +++ b/plugins/Quotes/src/IconLib.cpp @@ -0,0 +1,94 @@ +#include "StdAfx.h" +#include "IconLib.h" +#include +#include "resource.h" +#include "EconomicRateInfo.h" +// #include +#include +#include +#pragma warning (disable:4996) +#include +#pragma warning (default:4996) +#include "ModuleInfo.h" + +// extern HMODULE g_hInstance; + +namespace +{ + struct CIconList + { + TCHAR* szDescr; + char* szName; + int defIconID; + HANDLE hIconLibItem; + }; + + CIconList iconList[] = + { + { _T("Protocol icon"), ICON_STR_MAIN, IDI_ICON_MAIN }, + { _T("Quote/Rate up"), ICON_STR_QUOTE_UP, IDI_ICON_UP }, + { _T("Quote/Rate down"), ICON_STR_QUOTE_DOWN, IDI_ICON_DOWN }, + { _T("Quote/Rate not changed"), ICON_STR_QUOTE_NOT_CHANGED, IDI_ICON_NOTCHANGED }, + { _T("Quote Section"), ICON_STR_SECTION, IDI_ICON_SECTION }, + { _T("Quote"), ICON_STR_QUOTE, IDI_ICON_QUOTE }, + { _T("Currency Converter"), ICON_STR_CURRENCY_CONVERTER, IDI_ICON_CURRENCY_CONVERTER }, + { _T("Refresh"), ICON_STR_REFRESH, IDI_ICON_REFRESH }, + { _T("Export"), ICON_STR_EXPORT, IDI_ICON_EXPORT }, + { _T("Swap button"), ICON_STR_SWAP, IDI_ICON_SWAP }, + { _T("Import"), ICON_STR_IMPORT, IDI_ICON_IMPORT } + }; +} + +void Quotes_IconsInit() +{ + USES_CONVERSION; + + SKINICONDESC sid = {0}; + TCHAR szFile[MAX_PATH]; + ::GetModuleFileName(g_hInstance, szFile, MAX_PATH); + + sid.cbSize = sizeof(SKINICONDESC); + sid.ptszDefaultFile = szFile; + sid.cx = sid.cy = 16; + sid.flags = SIDF_ALL_TCHAR; + sid.ptszSection = A2T(QUOTES_PROTOCOL_NAME); + + for (int i = 0; i < SIZEOF(iconList); i++) { + std::string sName = Quotes_MakeIconName( iconList[i].szName); + sid.pszName = const_cast(sName.c_str()); + sid.ptszDescription = iconList[i].szDescr; + sid.iDefaultIndex = -iconList[i].defIconID; + iconList[i].hIconLibItem = Skin_AddIcon(&sid); + } +} + +std::string Quotes_MakeIconName(const char* name) +{ + assert(name); + //char szSettingName[100]; + //mir_snprintf(szSettingName,SIZEOF(szSettingName),"%s_%s",QUOTES_PROTOCOL_NAME,name); + std::string sName(QUOTES_PROTOCOL_NAME); + sName += "_"; + sName += name; + return sName; +} + +HICON Quotes_LoadIconEx(const char* name,bool bBig /*= false*/) +{ + std::string sIconName = Quotes_MakeIconName(name); + return Skin_GetIcon(sIconName.c_str(), bBig); +} + +HANDLE Quotes_GetIconHandle(int iconId) +{ + for(int i=0;i < SIZEOF(iconList);i++) + { + if(iconList[i].defIconID == iconId) + { + return iconList[i].hIconLibItem; + } + } + + return NULL; +} + -- cgit v1.2.3