int Meta_PreShutdown(WPARAM wParam, LPARAM lParam) { Meta_SetStatus(ID_STATUS_OFFLINE, 0); Meta_SuppressStatus(FALSE); if (setStatusTimerId) KillTimer(0, setStatusTimerId); return 0; }
void InitMenus() { CMenuItem mi; // main menu item mi.hIcolibItem = GetIconHandle(I_MENUOFF); mi.name.a = LPGEN("Toggle metacontacts off"); mi.pszService = "MetaContacts/OnOff"; mi.position = 500010000; hMenuOnOff = Menu_AddMainMenuItem(&mi); // contact menu items mi.hIcolibItem = GetIconHandle(I_CONVERT); mi.position = -200010; mi.name.a = LPGEN("Convert to metacontact"); mi.pszService = "MetaContacts/Convert"; hMenuConvert = Menu_AddContactMenuItem(&mi); mi.hIcolibItem = GetIconHandle(I_ADD); mi.position = -200009; mi.name.a = LPGEN("Add to existing metacontact..."); mi.pszService = "MetaContacts/AddTo"; hMenuAdd = Menu_AddContactMenuItem(&mi); mi.hIcolibItem = GetIconHandle(I_EDIT); mi.position = -200010; mi.name.a = LPGEN("Edit metacontact..."); mi.pszService = "MetaContacts/Edit"; hMenuEdit = Menu_AddContactMenuItem(&mi); mi.hIcolibItem = GetIconHandle(I_SETDEFAULT); mi.position = -200009; mi.name.a = LPGEN("Set as metacontact default"); mi.pszService = "MetaContacts/Default"; hMenuDefault = Menu_AddContactMenuItem(&mi); mi.hIcolibItem = GetIconHandle(I_REMOVE); mi.position = -200008; mi.name.a = LPGEN("Delete metacontact"); mi.pszService = "MetaContacts/Delete"; hMenuDelete = Menu_AddContactMenuItem(&mi); mi.position = -99000; mi.flags = CMIF_HIDDEN; mi.hIcolibItem = 0; mi.name.a = LPGEN("Subcontacts"); hMenuRoot = Menu_AddContactMenuItem(&mi); mi.flags |= CMIF_SYSTEM; mi.root = hMenuRoot; for (int i = 0; i < MAX_CONTACTS; i++) { mi.position--; mi.name.a = ""; char buffer[512]; mir_snprintf(buffer, "MetaContacts/MenuFunc%d", i); mi.pszService = buffer; mi.position++; hMenuContact[i] = Menu_AddContactMenuItem(&mi); } Meta_HideLinkedContacts(); if (!db_mc_isEnabled()) { // modify main menu item Menu_ModifyItem(hMenuOnOff, LPGENT("Toggle metacontacts on"), GetIconHandle(I_MENU)); Meta_HideMetaContacts(true); } else { Meta_SuppressStatus(options.bSuppressStatus); Meta_HideMetaContacts(false); } }