static int SplitmsgModulesLoaded(WPARAM wParam, LPARAM lParam) { CLISTMENUITEM mi; PROTOCOLDESCRIPTOR **protocol; int protoCount, i; RegisterIcoLibIcons(); RegisterFontServiceFonts(); LoadGlobalIcons(); LoadMsgLogIcons(); LoadProtocolIcons(); ZeroMemory(&mi, sizeof(mi)); mi.cbSize = sizeof(mi); mi.position = -2000090000; mi.flags = 0; mi.hIcon = LoadSkinnedIcon(SKINICON_EVENT_MESSAGE); mi.pszName = Translate("&Message"); mi.pszService = MS_MSG_SENDMESSAGE; CallService(MS_PROTO_ENUMPROTOCOLS, (WPARAM) & protoCount, (LPARAM) & protocol); for (i = 0; i < protoCount; i++) { if (protocol[i]->type != PROTOTYPE_PROTOCOL) continue; if (CallProtoService(protocol[i]->szName, PS_GETCAPS, PFLAGNUM_1, 0) & PF1_IMSEND) { mi.pszContactOwner = protocol[i]->szName; hMsgMenuItem = realloc(hMsgMenuItem, (hMsgMenuItemCount + 1) * sizeof(HANDLE)); hMsgMenuItem[hMsgMenuItemCount++] = (HANDLE) CallService(MS_CLIST_ADDCONTACTMENUITEM, 0, (LPARAM) & mi); } } HookEvent(ME_CLIST_DOUBLECLICKED, SendMessageCommand); HookEvent(ME_SMILEYADD_OPTIONSCHANGED, SmileySettingsChanged); HookEvent(ME_IEVIEW_OPTIONSCHANGED, SmileySettingsChanged); RestoreUnreadMessageAlerts(); return 0; }
int OnModulesLoaded(WPARAM wparam, LPARAM lparam) { // register fonts and hotkeys RegisterFontServiceFonts(); RegisterKeyBindings(); g_AddContListMI = (BOOL)db_get_dw(0,MODULENAME,"AddContactMenuItems",1); // register menus CMenuItem mi; mi.root = Menu_CreateRoot(MO_MAIN, LPGENW("Notes && Reminders"), 1600000000); Menu_ConfigureItem(mi.root, MCI_OPT_UID, "A5E140BC-D697-4689-B75B-8ECFB6FE5931"); mi.flags = CMIF_TCHAR; mi.position = 1600000000; mi.hIcolibItem = iconList[2].hIcolib; mi.name.t = LPGENT("New &Note"); mi.pszService = MODULENAME"/MenuCommandAddNew"; addMenuItem(mi); mi.position = 1600000001; mi.hIcolibItem = iconList[0].hIcolib; mi.name.t = LPGENT("New &Reminder"); mi.pszService = MODULENAME"/MenuCommandNewReminder"; addMenuItem(mi); mi.position = 1600100000; mi.hIcolibItem = iconList[3].hIcolib; mi.name.t = LPGENT("&Show / Hide Notes"); mi.pszService = MODULENAME"/MenuCommandShowHide"; addMenuItem(mi); mi.position = 1600100001; mi.hIcolibItem = iconList[13].hIcolib; mi.name.t = LPGENT("Vie&w Notes"); mi.pszService = MODULENAME"/MenuCommandViewNotes"; addMenuItem(mi); mi.position = 1600100002; mi.hIcolibItem = iconList[1].hIcolib; mi.name.t = LPGENT("&Delete All Notes"); mi.pszService = MODULENAME"/MenuCommandDeleteAll"; addMenuItem(mi); mi.position = 1600100003; mi.hIcolibItem = iconList[11].hIcolib; mi.name.t = LPGENT("&Bring All to Front"); mi.pszService = MODULENAME"/MenuCommandBringAllFront"; addMenuItem(mi); mi.position = 1600200000; mi.hIcolibItem = iconList[6].hIcolib; mi.name.t = LPGENT("&View Reminders"); mi.pszService = MODULENAME"/MenuCommandViewReminders"; addMenuItem(mi); mi.position = 1600200001; mi.hIcolibItem = iconList[5].hIcolib; mi.name.t = LPGENT("D&elete All Reminders"); mi.pszService = MODULENAME"/MenuCommandDeleteReminders"; addMenuItem(mi); // register misc hkOptInit = HookEvent(ME_OPT_INITIALISE, OnOptInitialise); hkTopToolbarInit = HookEvent("TopToolBar/ModuleLoaded", OnTopToolBarInit); UnhookEvent(hkModulesLoaded); // init vars and load all data InitSettings(); CreateMsgWindow(); LoadNotes(TRUE); LoadReminders(); return 0; }
int OnLoadModule(void) { hMsftEdit = LoadLibrary(_T("Msftedit.dll")); if (hMsftEdit == NULL) { if (IDYES != MessageBox(0, TranslateT ("Miranda could not load the built-in message module, Msftedit.dll is missing. If you are using WINE, please make sure you have Msftedit.dll installed. Press 'Yes' to continue loading Miranda."), TranslateT("Information"), MB_YESNO | MB_ICONINFORMATION)) return 1; return 0; } InitGlobals(); RichUtil_Load(); InitStatusIcons(); RegisterIcons(); RegisterFontServiceFonts(); RegisterKeyBindings(); HookEvent(ME_OPT_INITIALISE, OptInitialise); HookEvent(ME_DB_EVENT_ADDED, MessageEventAdded); HookEvent(ME_DB_CONTACT_SETTINGCHANGED, MessageSettingChanged); HookEvent(ME_DB_CONTACT_DELETED, ContactDeleted); HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoaded); HookEvent(ME_SKIN_ICONSCHANGED, IconsChanged); HookEvent(ME_PROTO_CONTACTISTYPING, TypingMessage); HookEvent(ME_SYSTEM_PRESHUTDOWN, OnSystemPreshutdown); HookEvent(ME_CLIST_PREBUILDCONTACTMENU, PrebuildContactMenu); HookEvent(ME_SYSTEM_MODULELOAD, ModuleLoad); HookEvent(ME_SYSTEM_MODULEUNLOAD, ModuleLoad); CreateServiceFunction(MS_MSG_SENDMESSAGE, SendMessageCommand); CreateServiceFunction(MS_MSG_SENDMESSAGEW, SendMessageCommandW); CreateServiceFunction(MS_MSG_GETWINDOWAPI, GetWindowAPI); CreateServiceFunction(MS_MSG_GETWINDOWCLASS, GetWindowClass); CreateServiceFunction(MS_MSG_GETWINDOWDATA, GetWindowData); CreateServiceFunction(MS_MSG_SETSTATUSTEXT, SetStatusText); CreateServiceFunction("SRMsg/ReadMessage", ReadMessageCommand); CreateServiceFunction("SRMsg/TypingMessage", TypingMessageCommand); hHookWinEvt = CreateHookableEvent(ME_MSG_WINDOWEVENT); hHookWinPopup = CreateHookableEvent(ME_MSG_WINDOWPOPUP); hHookWinWrite = CreateHookableEvent(ME_MSG_PRECREATEEVENT); SkinAddNewSoundEx("RecvMsgActive", LPGEN("Instant messages"), LPGEN("Incoming (focused window)")); SkinAddNewSoundEx("RecvMsgInactive", LPGEN("Instant messages"), LPGEN("Incoming (unfocused window)")); SkinAddNewSoundEx("AlertMsg", LPGEN("Instant messages"), LPGEN("Incoming (new session)")); SkinAddNewSoundEx("SendMsg", LPGEN("Instant messages"), LPGEN("Outgoing")); SkinAddNewSoundEx("TNStart", LPGEN("Instant messages"), LPGEN("Contact started typing")); SkinAddNewSoundEx("TNStop", LPGEN("Instant messages"), LPGEN("Contact stopped typing")); hCurSplitNS = LoadCursor(NULL, IDC_SIZENS); hCurSplitWE = LoadCursor(NULL, IDC_SIZEWE); hCurHyperlinkHand = LoadCursor(NULL, IDC_HAND); if (hCurHyperlinkHand == NULL) hCurHyperlinkHand = LoadCursor(g_hInst, MAKEINTRESOURCE(IDC_HYPERLINKHAND)); hDragCursor = LoadCursor(g_hInst, MAKEINTRESOURCE(IDC_DRAGCURSOR)); Chat_Load(); return 0; }