int CSkypeProto::PrebuildContactMenu(WPARAM hContact, LPARAM lParam) { for (int i = 0; i < _countof(ContactMenuItems); i++) Menu_ShowItem(ContactMenuItems[i], false); CSkypeProto *proto = CSkypeProto::GetContactAccount(hContact); return proto ? proto->OnPrebuildContactMenu(hContact, lParam) : 0; }
static int MSN_OnPrebuildContactMenu(WPARAM wParam, LPARAM lParam) { CMsnProto* ppro = GetProtoInstanceByHContact(wParam); if (ppro) ppro->OnPrebuildContactMenu(wParam, lParam); else { Menu_ShowItem(hBlockMenuItem, false); Menu_ShowItem(hLiveSpaceMenuItem, false); #ifdef OBSOLETE Menu_ShowItem(hNetmeetingMenuItem, false); #endif Menu_ShowItem(hChatInviteMenuItem, false); Menu_ShowItem(hOpenInboxMenuItem, false); } return 0; }
static int PrebuildContactMenu(WPARAM wParam,LPARAM lParam) { for (size_t i=0; i<SIZEOF(g_hContactMenuItems); i++) Menu_ShowItem(g_hContactMenuItems[i], false); WhatsAppProto *proto = GetInstanceByHContact(reinterpret_cast<HANDLE>(wParam)); return proto ? proto->OnPrebuildContactMenu(wParam,lParam) : 0; }
int CSteamProto::PrebuildContactMenu(WPARAM wParam, LPARAM lParam) { for (int i = 0; i < SIZEOF(CSteamProto::contactMenuItems); i++) Menu_ShowItem(CSteamProto::contactMenuItems[i], false); CSteamProto* ppro = CSteamProto::GetContactProtoInstance((MCONTACT)wParam); return (ppro) ? ppro->OnPrebuildContactMenu(wParam, lParam) : 0; }
void CMsnProto::MSN_EnableMenuItems(bool bEnable) { for (int i = 0; i < _countof(menuItemsMain); i++) Menu_ModifyItem(menuItemsMain[i], NULL, INVALID_HANDLE_VALUE, bEnable ? 0 : CMIF_GRAYED); if (bEnable) Menu_ShowItem(menuItemsMain[1], emailEnabled); }
int PrebuildContactMenu(WPARAM hContact, LPARAM lParam) { bool remove = db_get_b(hContact, MODULE, DBSETTING_REMOVE, 0) != 0; char *proto = GetContactProto(hContact); bool chat_room = (proto && db_get_b(hContact, proto, "ChatRoom", 0) != 0); if (chat_room) Menu_ShowItem(hMenuToggle, false); else { if (remove) Menu_ModifyItem(hMenuToggle, LPGENT("Enable History"), hIconKeep); else Menu_ModifyItem(hMenuToggle, LPGENT("Disable History"), hIconRemove); } Menu_ShowItem(hMenuClear, !chat_room && db_event_count(hContact) > 0); return 0; }
static int PrebuildContactMenu(WPARAM wParam, LPARAM lParam) { // Hide our all contact menu items first Menu_ShowItem(g_hContactMenuVisitProfile, false); Menu_ShowItem(g_hContactMenuVisitFriendship, false); Menu_ShowItem(g_hContactMenuAuthRevoke, false); Menu_ShowItem(g_hContactMenuAuthAsk, false); Menu_ShowItem(g_hContactMenuAuthGrant, false); Menu_ShowItem(g_hContactMenuAuthCancel, false); Menu_ShowItem(g_hContactMenuAuthDeny, false); Menu_ShowItem(g_hContactMenuPoke, false); Menu_ShowItem(g_hContactMenuPostStatus, false); Menu_ShowItem(g_hContactMenuVisitConversation, false); // Process them in correct account FacebookProto *proto = GetInstanceByHContact(MCONTACT(wParam)); return proto ? proto->OnPrebuildContactMenu(wParam, lParam) : 0; }
int __cdecl CYahooProto::OnPrebuildContactMenu(WPARAM hContact, LPARAM) { if (!IsMyContact(hContact)) { debugLogA("[OnPrebuildContactMenu] Not a Yahoo Contact!!!"); return 0; } Menu_ShowItem(hShowProfileMenuItem, getWord(hContact, "yprotoid", 0) == 0); return 0; }
int PrebuildContactMenu(WPARAM wParam, LPARAM lParam) { bool bIsContact = false; char *szProto = GetContactProto(wParam); if (szProto) bIsContact = (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IM) ? true : false; bool bHideRoot = opt.bHideInactive; for (int i = 0; i < ServerList::FTP_COUNT; i++) if (ftpList[i]->bEnabled) bHideRoot = false; if (opt.bUseSubmenu) Menu_ShowItem(hMenu, bIsContact && !bHideRoot); for (int i = 0; i < ServerList::FTP_COUNT; i++) Menu_ShowItem(hSubMenu[i], bIsContact && ftpList[i]->bEnabled); return 0; }
static int PrebuildContactMenu(WPARAM wParam, LPARAM) { MCONTACT hContact = wParam; if (hContact) { char *szProto = GetContactProto(hContact); PROTOACCOUNT *pa = Proto_GetAccount(szProto); Menu_ShowItem(hChangeSound, IsSuitableProto(pa)); } return 0; }
static int SRUrlPreBuildMenu(WPARAM wParam, LPARAM) { bool bEnabled = false; char *szProto = GetContactProto(wParam); if (szProto != NULL) if (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_URLSEND) bEnabled = true; Menu_ShowItem(hSRUrlMenuItem, bEnabled); return 0; }
int onPrebuildContactMenu(WPARAM hContact, LPARAM) { if (!Options.bContactMenuItem) { Menu_ShowItem(hUserMenu, false); return 0; } char *proto = GetContactProto((MCONTACT)hContact); if (!proto) return 0; if (db_get_b((MCONTACT)hContact, "AuthState", "ShowIcons", 1)) Menu_ModifyItem(hUserMenu, LPGENT("Disable AuthState icons")); else Menu_ModifyItem(hUserMenu, LPGENT("Enable AuthState icons")); Menu_ShowItem(hUserMenu, db_get_b((MCONTACT)hContact, proto, "Auth", 0) || db_get_b((MCONTACT)hContact, proto, "Grant", 0) || !db_get_dw((MCONTACT)hContact, proto, "ServerId", 0)); return 0; }
int PrebuildContactMenu(WPARAM wParam, LPARAM lParam) { bool bIsContact = false; char *szProto = GetContactProto(wParam); if (szProto && (INT_PTR)szProto != CALLSERVICE_NOTFOUND) bIsContact = (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IM) != 0; Menu_ShowItem(hContactMenu, bIsContact); return 0; }
int CIcqProto::OnPreBuildContactMenu(WPARAM hContact, LPARAM) { if (hContact == NULL) return 0; if (icqOnline()) { BOOL bCtrlPressed = (GetKeyState(VK_CONTROL)&0x8000 ) != 0; DWORD dwUin = getContactUin(hContact); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_REQUEST], dwUin && (bCtrlPressed || (getByte(hContact, "Auth", 0) && getWord(hContact, DBSETTING_SERVLIST_ID, 0)))); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_GRANT], dwUin && (bCtrlPressed || getByte(hContact, "Grant", 0))); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_REVOKE], dwUin && (bCtrlPressed || (getByte("PrivacyItems", 0) && !getByte(hContact, "Grant", 0)))); Menu_ShowItem(g_hContactMenuItems[ICMI_ADD_TO_SERVLIST], m_bSsiEnabled && !getWord(hContact, DBSETTING_SERVLIST_ID, 0) && !getWord(hContact, DBSETTING_SERVLIST_IGNORE, 0) && !db_get_b(hContact, "CList", "NotOnList", 0)); } Menu_ShowItem(g_hContactMenuItems[ICMI_OPEN_PROFILE],getContactUin(hContact) != 0); BYTE bXStatus = getContactXStatus(hContact); Menu_ShowItem(g_hContactMenuItems[ICMI_XSTATUS_DETAILS], m_bHideXStatusUI ? 0 : bXStatus != 0); if (bXStatus && !m_bHideXStatusUI) { if (bXStatus > 0 && bXStatus <= XSTATUS_COUNT) Menu_ModifyItem(g_hContactMenuItems[ICMI_XSTATUS_DETAILS], NULL, getXStatusIcon(bXStatus, LR_SHARED)); else Menu_ModifyItem(g_hContactMenuItems[ICMI_XSTATUS_DETAILS], NULL, Skin_LoadIcon(SKINICON_OTHER_SMALLDOT)); } return 0; }
static int EMailPreBuildMenu(WPARAM hContact, LPARAM) { bool bEnabled = true; DBVARIANT dbv = { 0 }; char *szProto = GetContactProto(hContact); if (szProto == NULL || db_get_s(hContact, szProto, "e-mail", &dbv)) if (db_get_s(hContact, "UserInfo", "Mye-mail0", &dbv)) bEnabled = false; Menu_ShowItem(hEMailMenuItem, bEnabled); if (dbv.pszVal) db_free(&dbv); return 0; }
int CSteamProto::OnPrebuildContactMenu(WPARAM wParam, LPARAM) { MCONTACT hContact = (MCONTACT)wParam; if (!hContact) return 0; if (!this->IsOnline() || lstrcmpA(GetContactProto(hContact), m_szModuleName)) return 0; //bool ctrlPressed = (GetKeyState(VK_CONTROL) & 0x8000) != 0; bool authNeeded = getBool(hContact, "Auth", 0); Menu_ShowItem(contactMenuItems[CMI_AUTH_REQUEST], authNeeded); bool isBlocked = getBool(hContact, "Block", 0); Menu_ShowItem(contactMenuItems[CMI_BLOCK], !isBlocked); DWORD gameId = getDword(hContact, "GameID", 0); Menu_ShowItem(contactMenuItems[CMI_JOIN_GAME], gameId > 0); return 0; }
int CDropbox::OnPrebuildContactMenu(void *obj, WPARAM hContact, LPARAM lParam) { CDropbox *instance = (CDropbox*)obj; if (!hContact) return 0; Menu_ShowItem(instance->contactMenuItems[CMI_SEND_FILES], FALSE); if (!instance->HasAccessToken()) return 0; char *proto = GetContactProto(hContact); bool isProtoOnline = CallProtoService(proto, PS_GETSTATUS, 0, 0) > ID_STATUS_OFFLINE; WORD status = db_get_w(hContact, proto, "Status", ID_STATUS_OFFLINE); bool canSendOffline = (CallProtoService(proto, PS_GETCAPS, PFLAGNUM_4, 0) & PF4_IMSENDOFFLINE) > 0; if (hContact != instance->GetDefaultContact() && isProtoOnline && (status != ID_STATUS_OFFLINE || canSendOffline) && instance->HasAccessToken() && !instance->hTransferContact) Menu_ShowItem(instance->contactMenuItems[CMI_SEND_FILES], TRUE); return 0; }
static int AwayMsgPreBuildMenu(WPARAM hContact, LPARAM lParam) { TCHAR str[128]; char *szProto = GetContactProto(hContact); int iHidden = szProto ? db_get_b(hContact, szProto, "ChatRoom", 0) : 0; int iStatus; if (!iHidden) { iHidden = 1; iStatus = db_get_w(hContact, szProto, "Status", ID_STATUS_OFFLINE); if (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_MODEMSGRECV) { if (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_3, 0) & Proto_Status2Flag(iStatus == ID_STATUS_OFFLINE ? ID_STATUS_INVISIBLE : iStatus)) { iHidden = 0; HICON hIcon = Skin_LoadProtoIcon(szProto, iStatus); mir_sntprintf(str, _countof(str), TranslateT("Re&ad %s message"), pcli->pfnGetStatusModeDescription(iStatus, 0)); Menu_ModifyItem(hAwayMsgMenuItem, str, hIcon, 0); IcoLib_ReleaseIcon(hIcon); } } } else Menu_ShowItem(hAwayMsgMenuItem, false); ptrA szMsg(db_get_sa(hContact, "CList", "StatusMsg")); if (!iHidden && szMsg != NULL) { mir_sntprintf(str, _countof(str), TranslateT("Copy %s message"), pcli->pfnGetStatusModeDescription(iStatus, 0)); Menu_ModifyItem(hCopyMsgMenuItem, str); } else Menu_ShowItem(hCopyMsgMenuItem, false); if (!iHidden && szMsg != NULL && StrFindURL(szMsg) != NULL) { mir_sntprintf(str, _countof(str), TranslateT("&Go to URL in %s message"), pcli->pfnGetStatusModeDescription(iStatus, 0)); Menu_ModifyItem(hGoToURLMenuItem, str); } else Menu_ShowItem(hGoToURLMenuItem, false); return 0; }
INT_PTR NudgeShowMenu(WPARAM wParam, LPARAM lParam) { bool bEnabled = false; for (int i = 0; i < arNudges.getCount(); i++) { CNudgeElement &p = arNudges[i]; if (!mir_strcmp((char*)wParam, p.ProtocolName)) { bEnabled = (GlobalNudge.useByProtocol) ? p.enabled : DefaultNudge.enabled; break; } } Menu_ShowItem(g_hContactMenu, bEnabled && lParam != 0); return 0; }
/** * Menu is about to appear */ int onPrebuildContactMenu(WPARAM hContact, LPARAM) { char *proto = GetContactProto(hContact); if (!proto) return 0; if (db_get_b(hContact, MODULENAME, "MissYou", 0)) Menu_ModifyItem(hContactMenu, LPGENW("Disable Miss You"), iconList[1].hIcolib); else Menu_ModifyItem(hContactMenu, LPGENW("Enable Miss You"), iconList[2].hIcolib); Menu_ShowItem(hContactMenu, !db_get_b(hContact, proto, "ChatRoom", 0) && (CallProtoService(proto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IMSEND)); return 0; }
static int HookPreBuildContactMenu(WPARAM hContact, LPARAM) { char *szProto = GetContactProto(hContact); bool bVisible = false; if (szProto && CheckContactsServiceSupport(szProto)) { // known protocol, protocol supports contacts sending // check the selected contact if it supports contacts receive if (CallProtoService(szProto, PS_GETCAPS, PFLAG_MAXCONTACTSPERPACKET, hContact)) bVisible = true; } // update contact menu item's visibility Menu_ShowItem(hContactMenuItem, bVisible); return 0; }
static int PrebuildContactMenu(WPARAM hContact, LPARAM) { if (hContact) { bool bEnabled = false; char *szProto = GetContactProto(hContact); if (szProto) { // leave this menu item hidden for chats if (!db_get_b(hContact, szProto, "ChatRoom", 0)) if (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IMSEND) bEnabled = true; } Menu_ShowItem(hMsgMenuItem, bEnabled); } return 0; }
CJabberProto* JabberChooseInstance(bool bIsLink) { if (g_Instances.getCount() == 0) return NULL; if (g_Instances.getCount() == 1) { if (g_Instances[0]->m_iStatus != ID_STATUS_OFFLINE && g_Instances[0]->m_iStatus != ID_STATUS_CONNECTING) return g_Instances[0]; return NULL; } if (bIsLink) for (int i = 0; i < g_Instances.getCount(); i++) if (g_Instances[i]->m_options.ProcessXMPPLinks) return g_Instances[i]; int nItems = 0, lastItemId = 0; for (int i = 0; i < g_Instances.getCount(); i++) { CJabberProto *ppro = g_Instances[i]; if (ppro->m_iStatus != ID_STATUS_OFFLINE && ppro->m_iStatus != ID_STATUS_CONNECTING) { ++nItems; lastItemId = i + 1; Menu_ModifyItem(ppro->m_hChooseMenuItem, NULL, Skin_LoadProtoIcon(ppro->m_szModuleName, ppro->m_iStatus)); } else Menu_ShowItem(ppro->m_hChooseMenuItem, false); } if (nItems > 1) { POINT pt; GetCursorPos(&pt); HMENU hMenu = CreatePopupMenu(); Menu_Build(hMenu, hChooserMenu); int res = TrackPopupMenu(hMenu, TPM_RETURNCMD, pt.x, pt.y, 0, pcli->hwndContactList, NULL); DestroyMenu(hMenu); if (res) { CJabberProto* pro = NULL; Menu_ProcessCommandById(res, (LPARAM)&pro); return pro; } return NULL; } return lastItemId ? g_Instances[lastItemId - 1] : NULL; }
int CMimAPI::PrebuildContactMenu(WPARAM hContact, LPARAM lParam) { if (hContact == NULL) return NULL; bool bEnabled = false; char *szProto = GetContactProto(hContact); if (szProto) { // leave this menu item hidden for chats if (!db_get_b(hContact, szProto, "ChatRoom", 0)) if (CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IMSEND) bEnabled = true; } Menu_ShowItem(PluginConfig.m_hMenuItem, bEnabled); return 0; }
static int IcqPrebuildContactMenu( WPARAM wParam, LPARAM lParam ) { Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_REQUEST], FALSE); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_GRANT], FALSE); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_REVOKE], FALSE); Menu_ShowItem(g_hContactMenuItems[ICMI_ADD_TO_SERVLIST], FALSE); Menu_ShowItem(g_hContactMenuItems[ICMI_XSTATUS_DETAILS], FALSE); Menu_ShowItem(g_hContactMenuItems[ICMI_OPEN_PROFILE], FALSE); CIcqProto* ppro = IcqGetInstanceByHContact((HANDLE)wParam); return (ppro) ? ppro->OnPreBuildContactMenu(wParam, lParam) : 0; }
int TlenProtocol::PrebuildContactMenu(WPARAM hContact, LPARAM) { if (hContact != NULL && isOnline) { DBVARIANT dbv; if (!db_get(hContact, m_szModuleName, "jid", &dbv)) { TLEN_LIST_ITEM *item = TlenListGetItemPtr(this, LIST_ROSTER, dbv.pszVal); db_free(&dbv); if (item != NULL) { Menu_ShowItem(hMenuContactRequestAuth, item->subscription == SUB_NONE || item->subscription == SUB_FROM); Menu_ShowItem(hMenuContactGrantAuth, item->subscription == SUB_NONE || item->subscription == SUB_TO); Menu_ShowItem(hMenuContactMUC, item->status != ID_STATUS_OFFLINE); Menu_ShowItem(hMenuContactVoice, item->status != ID_STATUS_OFFLINE && !TlenVoiceIsInUse(this)); Menu_ShowItem(hMenuPicture, item->status != ID_STATUS_OFFLINE); return 0; } } } Menu_ShowItem(hMenuContactMUC, false); Menu_ShowItem(hMenuContactVoice, false); Menu_ShowItem(hMenuContactRequestAuth, false); Menu_ShowItem(hMenuContactGrantAuth, false); return 0; }
int CIcqProto::OnPreBuildContactMenu(WPARAM wParam, LPARAM) { HANDLE hContact = (HANDLE)wParam; if (hContact == NULL) return 0; if (icqOnline()) { BOOL bCtrlPressed = (GetKeyState(VK_CONTROL)&0x8000 ) != 0; DWORD dwUin = getContactUin(hContact); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_REQUEST], dwUin && (bCtrlPressed || (getByte((HANDLE)wParam, "Auth", 0) && getWord((HANDLE)wParam, DBSETTING_SERVLIST_ID, 0)))); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_GRANT], dwUin && (bCtrlPressed || getByte((HANDLE)wParam, "Grant", 0))); Menu_ShowItem(g_hContactMenuItems[ICMI_AUTH_REVOKE], dwUin && (bCtrlPressed || (getByte("PrivacyItems", 0) && !getByte((HANDLE)wParam, "Grant", 0)))); Menu_ShowItem(g_hContactMenuItems[ICMI_ADD_TO_SERVLIST], m_bSsiEnabled && !getWord((HANDLE)wParam, DBSETTING_SERVLIST_ID, 0) && !getWord((HANDLE)wParam, DBSETTING_SERVLIST_IGNORE, 0) && !db_get_b(hContact, "CList", "NotOnList", 0)); } Menu_ShowItem(g_hContactMenuItems[ICMI_OPEN_PROFILE],getContactUin(hContact) != 0); BYTE bXStatus = getContactXStatus((HANDLE)wParam); Menu_ShowItem(g_hContactMenuItems[ICMI_XSTATUS_DETAILS], m_bHideXStatusUI ? 0 : bXStatus != 0); if (bXStatus && !m_bHideXStatusUI) { CLISTMENUITEM clmi = { sizeof(clmi) }; clmi.flags = CMIM_ICON; if (bXStatus > 0 && bXStatus <= XSTATUS_COUNT) clmi.hIcon = getXStatusIcon(bXStatus, LR_SHARED); else clmi.hIcon = LoadSkinnedIcon(SKINICON_OTHER_SMALLDOT); Menu_ModifyItem(g_hContactMenuItems[ICMI_XSTATUS_DETAILS], &clmi); } return 0; }
int __cdecl onRebuildContactMenu(WPARAM wParam,LPARAM lParam) { HANDLE hContact = (HANDLE)wParam; BOOL bMC = isProtoMetaContacts(hContact); if (bMC ) hContact = getMostOnline(hContact); // возьмем тот, через который пойдет сообщение pUinKey ptr = getUinKey(hContact); int i; CLISTMENUITEM mi = { sizeof(mi) }; ShowStatusIconNotify(hContact); // check offline/online if (!ptr) { // hide menu bars for (i=0; i < SIZEOF(g_hMenu); i++) Menu_ShowItem(g_hMenu[i], false); return 0; } bool isSecureProto = isSecureProtocol(hContact); bool isPGP = isContactPGP(hContact); bool isGPG = isContactGPG(hContact); bool isSecured = (isContactSecured(hContact)&SECURED) != 0; bool isChat = isChatRoom(hContact); bool isMiranda = isClientMiranda(hContact); // hide all menu bars for (i=0; i < SIZEOF(g_hMenu); i++) Menu_ShowItem(g_hMenu[i], false); if (isSecureProto && !isChat && isMiranda && (ptr->mode == MODE_NATIVE || ptr->mode == MODE_RSAAES)) { // Native/RSAAES mi.flags = CMIM_FLAGS | CMIF_NOTOFFLINE | CMIM_ICON; if (!isSecured) { // create secureim connection mi.hIcon = mode2icon(ptr->mode|SECURED,2); Menu_ModifyItem(g_hMenu[0], &mi); } else { // disable secureim connection mi.hIcon = mode2icon(ptr->mode,2); Menu_ModifyItem(g_hMenu[1], &mi); } // set status menu if (bSCM && !bMC && (!isSecured || ptr->mode == MODE_PGP || ptr->mode == MODE_GPG)) { mi.flags = CMIM_FLAGS | CMIM_NAME | CMIM_ICON; mi.hIcon = g_hICO[ICO_ST_DIS+ptr->status]; mi.pszName = (LPSTR)sim312[ptr->status]; Menu_ModifyItem(g_hMenu[2], &mi); mi.flags = CMIM_FLAGS | CMIM_ICON; for (i=0;i<=(ptr->mode == MODE_RSAAES?1:2);i++) { mi.hIcon = (i == ptr->status) ? g_hICO[ICO_ST_DIS+ptr->status] : NULL; Menu_ModifyItem(g_hMenu[3+i], &mi); } } } else if (isSecureProto && !isChat && (ptr->mode == MODE_PGP || ptr->mode == MODE_GPG)) { // PGP, GPG if (ptr->mode == MODE_PGP && bPGPloaded) if ((bPGPkeyrings || bPGPprivkey) && !isGPG) Menu_ShowItem(g_hMenu[isPGP+6], true); if (ptr->mode == MODE_GPG && bGPGloaded) if (bGPGkeyrings && !isPGP) Menu_ShowItem(g_hMenu[isGPG+8], true); } if (isSecureProto && !isChat && isMiranda) { // set mode menu if (bMCM && !bMC && (!isSecured || ptr->mode == MODE_PGP || ptr->mode == MODE_GPG)) { mi.flags = CMIM_FLAGS | CMIM_NAME | CMIM_ICON; mi.hIcon = g_hICO[ICO_OV_NAT+ptr->mode]; mi.pszName = (LPSTR)sim311[ptr->mode]; Menu_ModifyItem(g_hMenu[10], &mi); mi.flags = CMIM_FLAGS | CMIM_ICON; for (i=0;i<MODE_CNT;i++) { if (i == MODE_PGP && ptr->mode != MODE_PGP && !bPGP ) continue; if (i == MODE_GPG && ptr->mode != MODE_GPG && !bGPG ) continue; mi.hIcon = (i == ptr->mode) ? g_hICO[ICO_ST_ENA] : NULL; Menu_ModifyItem(g_hMenu[11+i], &mi); } } } return 0; }
static int PrebuildContactMenu(WPARAM hContact, LPARAM) { Menu_ShowItem(hContactMenu, db_event_last(hContact) != NULL); return 0; }
void CheckMenuItems() { Menu_ShowItem(hMenuItemMain, db_get_b(NULL, YAMN_DBMODULE, YAMN_SHOWMAINMENU, 1) != 0); }