Example #1
0
CExtraImages::CExtraImages()
			 : m_hExtraIcons(ExtraIcon_Register(ICON_STR_QUOTE,QUOTES_PROTOCOL_NAME,Quotes_MakeIconName(ICON_STR_MAIN).c_str())),
			   m_bExtraImagesInit(false),
			   m_nSlot(DBGetContactSettingWord(NULL,QUOTES_PROTOCOL_NAME,DB_STR_QUOTE_EXTRA_IMAGE_SLOT,EXTRA_ICON_ADV1))
{
	m_ahExtraImages[eiUp] = INVALID_IMAGE_HANDLE;
	m_ahExtraImages[eiDown] = INVALID_IMAGE_HANDLE;
	m_ahExtraImages[eiNotChanged] = INVALID_IMAGE_HANDLE;
}
Example #2
0
HICON Quotes_LoadIconEx(const char* name,bool bBig /*= false*/)
{
	std::string sIconName = Quotes_MakeIconName(name);
	return Skin_GetIcon(sIconName.c_str(), bBig);
}
Example #3
0
bool CExtraImages::SetContactExtraImage(HANDLE hContact,EImageIndex nIndex)const
{
// 	tstring s = Quotes_DBGetStringT(hContact,LIST_MODULE_NAME,CONTACT_LIST_NAME);
// 	tostringstream o;
// 	o << _T("SetContactExtraImage for ") << s << _T("\nExtra image list init: ") << m_bExtraImagesInit << _T("\n");
	
	bool bResult = false;
	if(m_hExtraIcons)
	{
// 		o << "Using extra icon interface\n";
		std::string sIconName;
		switch(nIndex)
		{
		case eiUp:
			sIconName = Quotes_MakeIconName(ICON_STR_QUOTE_UP);
			break;
		case eiDown:
			sIconName = Quotes_MakeIconName(ICON_STR_QUOTE_DOWN);
			break;
		case eiNotChanged:
			sIconName = Quotes_MakeIconName(ICON_STR_QUOTE_NOT_CHANGED);
			break;
		}
		bResult = (0 == ExtraIcon_SetIcon(m_hExtraIcons,hContact,sIconName.c_str()));
	}
	else if(m_bExtraImagesInit && ServiceExists(MS_CLIST_EXTRA_ADD_ICON))
	{
// 		o << "Using contact list interface index is ";
		IconExtraColumn iec = {0};
		iec.cbSize = sizeof(iec);
		iec.ColumnType = m_nSlot;

		{
			CGuard<CLightMutex> cs(m_lmExtraImages);
			switch(nIndex)
			{
			case eiUp:
// 				o << "up\n";
				iec.hImage = m_ahExtraImages[eiUp];
				break;
			case eiDown:
// 				o << "down\n";
				iec.hImage = m_ahExtraImages[eiDown];
				break;
			case eiNotChanged:
// 				o << "not changed\n";
				iec.hImage = m_ahExtraImages[eiNotChanged];
				break;
			default:
// 				o << "invalid\n";
				iec.hImage = INVALID_IMAGE_HANDLE;
				break;
			}
		}

		bResult = (0 == CallService(MS_CLIST_EXTRA_SET_ICON,reinterpret_cast<WPARAM>(hContact),reinterpret_cast<LPARAM>(&iec)));
	}

// 	o << "Result is " << bResult;
// 	LogIt(Info,o.str());
	return bResult;
}
Example #4
0
void Quotes_InitExtraIcons()
{
	hExtraIcon = ExtraIcon_RegisterIcolib(ICON_STR_QUOTE, QUOTES_PROTOCOL_NAME, Quotes_MakeIconName(ICON_STR_MAIN).c_str());
}