// TContact::ITreeItem::TreeItem_MenuAppendActions() void TContact::TreeItem_MenuAppendActions(IOUT WMenu * pMenu) { if (!TreeItemFlags_FCanDisplayWithinNavigationTree()) { pMenu->ActionsAdd(c_rgzeActionsMenuContactDeleted); return; } if (m_uFlagsContact & FC_kfContactUnsolicited) pMenu->ActionAdd(eMenuAction_ContactApprove); //pMenu->ActionAdd((m_uFlagsContact & mskfRosterSubscribed) ? eMenuAction_ContactUnsubscribe : eMenuAction_ContactSubscribe); /* pMenu->ActionAdd(eMenuAction_ContactSubscribe); pMenu->ActionAdd(eMenuAction_ContactUnsubscribe); */ WMenu * pMenuView = pMenu->PMenuAdd("View", eMenuIcon_Find); pMenuView->ActionsAdd(c_rgzeActionsMenuContactView); WMenu * pMenuGroup = pMenu->PMenuAdd("Add Peer to Group", eMenuIcon_ContactAdd); int eMenuActionGroup = eMenuSpecialAction_GroupFirst; TGroup ** ppGroupStop; TGroup ** ppGroup = m_pAccount->m_arraypaGroups.PrgpGetGroupsStop(OUT &ppGroupStop); while (ppGroup != ppGroupStop) { TGroup * pGroup = *ppGroup++; if (pGroup->TreeItemGroup_FCanDisplayWithinNavigationTree()) pMenuGroup->ActionAddFromText(pGroup->TreeItem_PszGetNameDisplay(), eMenuActionGroup++, eMenuIcon_Group); } pMenuGroup->ActionAddFromText((PSZUC)"<New Group...>", eMenuAction_GroupNew, eMenuIcon_GroupAdd); pMenu->ActionsAdd(c_rgzeActionsMenuContact); pMenu->ActionSetCheck(eMenuAction_TreeItemRecommended, m_uFlagsTreeItem & FTI_kfRecommended); } // TreeItem_MenuAppendActions()
void TAccountXmpp::TreeItemAccount_DisplayWithinNavigationTree() { Endorse(g_pTreeItemInbox == NULL); // Display the account at the root of the Navigation Tree TreeItemW_DisplayWithinNavigationTree(g_pTreeItemInbox); TContact ** ppContactStop; TContact ** ppContact = m_arraypaContacts.PrgpGetContactsStop(OUT &ppContactStop); while (ppContact != ppContactStop) { TContact * pContact = *ppContact++; Assert(pContact != NULL); Assert(pContact->EGetRuntimeClass() == RTI(TContact)); Assert(pContact->m_pAccount == this); pContact->TreeItemContact_DisplayWithinNavigationTree(); } // while #ifdef WANT_TREE_NODE_NEW_CONTACT m_pTreeItemContactNew = new TContactNew(this); #endif TGroup ** ppGroupStop; TGroup ** ppGroup = m_arraypaGroups.PrgpGetGroupsStop(OUT &ppGroupStop); while (ppGroup != ppGroupStop) { TGroup * pGroup = *ppGroup++; Assert(pGroup != NULL); Assert(pGroup->EGetRuntimeClass() == RTI(TGroup)); Assert(pGroup->m_pAccount == this); if (pGroup->TreeItemGroup_FCanDisplayWithinNavigationTree()) pGroup->TreeItemGroup_DisplayWithinNavigationTree(); } TreeItemW_ExpandAccordingToSavedState(); TreeItemAccount_UpdateIcon(); #if FIX_THIS // Display the alias as well m_paAlias->TreeItem_DisplayWithinNavigationTree(m_pProfileParent, m_strJID, eMenuIconXmpp); #endif } // TreeItemAccount_DisplayWithinNavigationTree()