Esempio n. 1
0
void InitMirOTRMenu(void)
{
	WNDCLASS wc = { 0 };
	wc.hInstance = hInst;
	wc.lpfnWndProc = PopupMenuWndProc;
	wc.lpszClassName = _T("MirOTRPopupMenuProcessor");
	RegisterClass(&wc);
	hDummyPaintWin = CreateWindowEx(0, _T("MirOTRPopupMenuProcessor"), NULL, 0, 0, 0, 1, 1, 0, 0, hInst, 0);

	CreateServiceFunction("MirOTRMenuExecService", MirOTRMenuExecService);
	CreateServiceFunction("MirOTRMenuCheckService", MirOTRMenuCheckService);

	// menu object
	CreateServiceFunction("MIROTRMENUS/FreeOwnerDataMirOTRMenu", FreeOwnerDataMirOTRMenu);
	CreateServiceFunction("MIROTRMENUS/OnAddMenuItemMirOTRMenu", OnAddMenuItemMirOTRMenu);

	hMirOTRMenuObject = Menu_AddObject("MirOTRMenu", LPGEN("MirOTR menu"), "MirOTRMenuCheckService", "MirOTRMenuExecService");
	Menu_ConfigureObject(hMirOTRMenuObject, MCO_OPT_FREE_SERVICE, "MIROTRMENUS/FreeOwnerDataMirOTRMenu");
	Menu_ConfigureObject(hMirOTRMenuObject, MCO_OPT_ONADD_SERVICE, "MIROTRMENUS/OnAddMenuItemMirOTRMenu");

	// menu items
	CMenuItem mi;
	mi.flags = CMIF_DISABLED | CMIF_TCHAR;
	mi.name.t = LPGENT("OTR Status");
	mi.position = 0;
	hStatusInfoItem = AddMirOTRMenuItem(&mi, NULL);

	mi.flags = CMIF_TCHAR | CMIF_NOTPRIVATE | CMIF_NOTUNVERIFIED;
	mi.name.t = LANG_MENU_START;
	mi.position = 100001;
	mi.hIcolibItem = IcoLib_GetIconHandle(ICON_UNVERIFIED);
	AddMirOTRMenuItem(&mi, MS_OTR_MENUSTART);

	mi.flags = CMIF_TCHAR | CMIF_NOTNOTPRIVATE | CMIF_NOTFINISHED;
	mi.name.t = LANG_MENU_REFRESH;
	mi.position = 100002;
	mi.hIcolibItem = IcoLib_GetIconHandle(ICON_FINISHED);
	AddMirOTRMenuItem(&mi, MS_OTR_MENUREFRESH);

	mi.flags = CMIF_TCHAR | CMIF_NOTNOTPRIVATE;
	mi.name.t = LANG_MENU_STOP;
	mi.position = 100003;
	mi.hIcolibItem = IcoLib_GetIconHandle(ICON_NOT_PRIVATE);
	AddMirOTRMenuItem(&mi, MS_OTR_MENUSTOP);

	mi.flags = CMIF_TCHAR | CMIF_NOTNOTPRIVATE | CMIF_NOTFINISHED;
	mi.name.t = LANG_MENU_VERIFY;
	mi.position = 200001;
	mi.hIcolibItem = IcoLib_GetIconHandle(ICON_PRIVATE);
	AddMirOTRMenuItem(&mi, MS_OTR_MENUVERIFY);

	mi.flags = CMIF_TCHAR | CMIF_CHECKED;
	mi.name.t = LANG_MENU_TOGGLEHTML;
	mi.position = 300001;
	mi.hIcolibItem = 0;
	hHTMLConvMenuItem = AddMirOTRMenuItem(&mi, MS_OTR_MENUTOGGLEHTML);
}
Esempio n. 2
0
// true - ok,false ignore
INT_PTR MirOTRMenuCheckService(WPARAM wParam, LPARAM)
{
	TCheckProcParam *pcpp = (TCheckProcParam*)wParam;
	if (pcpp == NULL)
		return FALSE;

	lpMirOTRMenuExecParam cmep = (lpMirOTRMenuExecParam)pcpp->MenuItemOwnerData;
	if (cmep == NULL) //this is rootsection...build it
		return TRUE;

	MCONTACT hContact = (MCONTACT)pcpp->wParam, hSub;
	if ((hSub = db_mc_getMostOnline(hContact)) != 0)
		hContact = hSub;

	ConnContext *context = otrl_context_find_miranda(otr_user_state, hContact);
	TrustLevel level = (TrustLevel)otr_context_get_trust(context);

	TMO_MenuItem mi;
	if (Menu_GetItemInfo(pcpp->MenuItemHandle, mi) == 0) {
		if (mi.flags & CMIF_HIDDEN) return FALSE;
		if (mi.flags & CMIF_NOTPRIVATE  && level == TRUST_PRIVATE) return FALSE;
		if (mi.flags & CMIF_NOTFINISHED && level == TRUST_FINISHED) return FALSE;
		if (mi.flags & CMIF_NOTUNVERIFIED  && level == TRUST_UNVERIFIED) return FALSE;
		if (mi.flags & CMIF_NOTNOTPRIVATE && level == TRUST_NOT_PRIVATE) return FALSE;

		if (pcpp->MenuItemHandle == hStatusInfoItem) {
			TCHAR text[128];

			switch (level) {
			case TRUST_PRIVATE:
				mir_sntprintf(text, _T("%s [v%i]"), TranslateT(LANG_STATUS_PRIVATE), context->protocol_version);
				Menu_ModifyItem(hStatusInfoItem, text, IcoLib_GetIconHandle(ICON_PRIVATE));
				break;

			case TRUST_UNVERIFIED:
				mir_sntprintf(text, _T("%s [v%i]"), TranslateT(LANG_STATUS_UNVERIFIED), context->protocol_version);
				Menu_ModifyItem(hStatusInfoItem, text, IcoLib_GetIconHandle(ICON_UNVERIFIED));
				break;

			case TRUST_FINISHED:
				Menu_ModifyItem(hStatusInfoItem, TranslateT(LANG_STATUS_FINISHED), IcoLib_GetIconHandle(ICON_UNVERIFIED));
				break;

			default:
				Menu_ModifyItem(hStatusInfoItem, TranslateT(LANG_STATUS_DISABLED), IcoLib_GetIconHandle(ICON_NOT_PRIVATE));
			}
		}
		else if (pcpp->MenuItemHandle == hHTMLConvMenuItem)
			Menu_SetChecked(hHTMLConvMenuItem, db_get_b(hContact, MODULENAME, "HTMLConv", 0) != 0);
	}
	return TRUE;
}
Esempio n. 3
0
int TTBLoaded(WPARAM, LPARAM)
{
    TTBButton ttb = { 0 };
    ttb.pszService = "Popup/EnableDisableMenuCommand";
    ttb.lParamUp = 1;
    ttb.dwFlags = TTBBF_VISIBLE | TTBBF_SHOWTOOLTIP | TTBBF_ASPUSHBUTTON;
    if (db_get_b(0, "Popup", "ModuleIsEnabled", 1))
        ttb.dwFlags |= TTBBF_PUSHED;
    ttb.name = LPGEN("Toggle Popups");
    ttb.hIconHandleUp = IcoLib_GetIconHandle(ICO_TB_POPUP_OFF);
    ttb.hIconHandleDn = IcoLib_GetIconHandle(ICO_TB_POPUP_ON);
    ttb.pszTooltipUp = LPGEN("Enable Popups");
    ttb.pszTooltipDn = LPGEN("Disable Popups");
    hTTButton = TopToolbar_AddButton(&ttb);
    return 0;
}
Esempio n. 4
0
void SetContactExtraIcon(MCONTACT hContact, int status)
{
	char iconName[100];
	mir_snprintf(iconName, _countof(iconName), "%s_%s", MODULE, "gaming");

	ExtraIcon_SetIcon(hExtraXStatus, hContact, (status > 0) ? IcoLib_GetIconHandle(iconName) : NULL);
}
Esempio n. 5
0
HANDLE CSkypeProto::Skin_GetIconHandle(const char *name)
{
	char iconName[100];
	mir_snprintf(iconName, "%s_%s", MODULE, name);
	HANDLE hIcon = IcoLib_GetIconHandle(iconName);
	if (hIcon == NULL)
		hIcon = GetIconHandle(name);
	return hIcon;
}
Esempio n. 6
0
static int icolib_GetIcon(lua_State *L)
{
    const char *name = luaL_checkstring(L, 1);

    HANDLE res = IcoLib_GetIconHandle(name);
    lua_pushlightuserdata(L, res);

    return 1;
}
Esempio n. 7
0
HANDLE GetIconHandle(char *szIcon)
{
	char szSettingName[64];
	mir_snprintf(szSettingName, "%s_%s", MODULE, szIcon);
	return IcoLib_GetIconHandle(szSettingName);
}