void Menu::HideStartMenu() { HideMenuItem(ID_BMP_MENU_SINGLE); HideMenuItem(ID_BMP_MENU_MULTI); HideMenuItem(ID_BMP_RULES); HideMenuItem(ID_BMP_OPTIONS); HideMenuItem(ID_BMP_EXIT); return; }
static INT_PTR PreBuildContactMenu(WPARAM wParam, LPARAM lParam) { HideMenuItem(hCMCall); HideMenuItem(hCMAnswer); HideMenuItem(hCMHold); HideMenuItem(hCMDrop); for(unsigned int i = 0; i < hCMCalls.size(); ++i) HideMenuItem(hCMCalls[i]); HANDLE hContact = (HANDLE) wParam; if (hContact == NULL) return -1; hContact = ConvertMetacontact(hContact); // There is a current call already? VoiceCall *call = FindVoiceCall(hContact); if (call == NULL) { OBJLIST<CallingMethod> methods(10, sttCompareCallingMethods); BuildCallingMethodsList(&methods, hContact); if (methods.getCount() == 1) { CallingMethod *method = &methods[0]; TCHAR name[128]; if (!IsEmpty(method->number)) mir_sntprintf(name, MAX_REGS(name), TranslateT("Call %s with %s"), method->number, method->provider->description); else mir_sntprintf(name, MAX_REGS(name), TranslateT("Call with %s"), method->provider->description); CLISTMENUITEM mi = {0}; mi.cbSize = sizeof(mi); mi.flags = CMIM_FLAGS | CMIF_TCHAR | CMIM_NAME; mi.ptszName = name; CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM) hCMCall, (LPARAM) &mi); } else if (methods.getCount() > 1) { CLISTMENUITEM mi = {0}; mi.cbSize = sizeof(mi); mi.flags = CMIM_FLAGS | CMIF_TCHAR | CMIM_NAME; mi.ptszName = _T("Call"); CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM) hCMCall, (LPARAM) &mi); for(int i = 0; i < methods.getCount(); ++i) { CallingMethod *method = &methods[i]; HICON hIcon = method->provider->GetIcon(); TCHAR name[128]; if (!IsEmpty(method->number)) mir_sntprintf(name, MAX_REGS(name), TranslateT("%s with %s"), method->number, method->provider->description); else mir_sntprintf(name, MAX_REGS(name), TranslateT("with %s"), method->provider->description); char service[128]; mir_snprintf(service, MAX_REGS(service), "VoiceService/ContactMenu/Call_%d", i); CLISTMENUITEM mi = {0}; mi.cbSize = sizeof(mi); mi.position = i; mi.flags = CMIF_TCHAR | CMIF_ROOTHANDLE; mi.ptszName = name; mi.hIcon = hIcon; mi.pszService = service; mi.hParentMenu = (HGENMENU) hCMCall; if (i == hCMCalls.size()) { CreateServiceFunctionParam(service, Service_CallItem, i); HANDLE hMenu = (HANDLE) CallService(MS_CLIST_ADDCONTACTMENUITEM, 0, (LPARAM) &mi); hCMCalls.push_back(hMenu); } else { HANDLE hMenu = hCMCalls[i]; mi.flags = mi.flags | CMIM_ALL; CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM) hMenu, (LPARAM) &mi); } method->provider->ReleaseIcon(hIcon); } } } else { switch (call->state) { case VOICE_STATE_CALLING: { ShowMenuItem(hCMDrop); break; } case VOICE_STATE_TALKING: { if (call->module->CanHold()) ShowMenuItem(hCMHold); ShowMenuItem(hCMDrop); break; } case VOICE_STATE_RINGING: case VOICE_STATE_ON_HOLD: { ShowMenuItem(hCMAnswer); ShowMenuItem(hCMDrop); break; } } } return 0; }
void Menu::HideGameMenu() { HideMenuItem(ID_BMP_PAUSE); return; }
void Menu::HidePauseMenu() { HideMenuItem(ID_BMP_BACK); HideMenuItem(ID_BMP_PLAY); HideMenuItem(ID_BMP_RESTART); return; }
void Menu::HideRulesMenu() { HideMenuItem(ID_BMP_BACK); return; }
void Menu::HideOptionMenu() { HideMenuItem(ID_BMP_BACK); return; }
void Menu::HidePositionMultiMenu() { HideMenuItem(ID_BMP_PLAY); HideMenuItem(ID_BMP_BACK); return; }