extern "C" int __declspec(dllexport)Load(void) { mir_getLP(&pluginInfoEx); mir_getCLI(); CreateServiceFunction(protocolname"/ToggleEnable", ToggleEnable); CreateServiceFunction(protocolname"/ToggleAutoanswer",Toggle); CMenuItem mi; mi.position = 500090000; mi.name.t = _T(""); mi.pszService = protocolname"/ToggleEnable"; hEnableMenu = Menu_AddMainMenuItem(&mi); mi.position = -0x7FFFFFFF; mi.name.t = _T(""); mi.pszService = protocolname"/ToggleAutoanswer"; hToggle = Menu_AddContactMenuItem(&mi); //add hook HookEvent(ME_OPT_INITIALISE, OptInit); HookEvent(ME_DB_EVENT_ADDED, addEvent); HookEvent(ME_SYSTEM_MODULESLOADED, CheckDefaults); Icon_RegisterT(hinstance, _T("Simple Auto Replier"), iconList, _countof(iconList)); return 0; }
extern "C" int __declspec(dllexport)Load(void) { mir_getLP(&pluginInfoEx); mir_getCLI(); CreateServiceFunction(protocolname"/ToggleEnable", ToggleEnable); CreateServiceFunction(protocolname"/ToggleAutoanswer", Toggle); CMenuItem mi; SET_UID(mi, 0xac1c64a, 0x82ca, 0x4845, 0x86, 0x89, 0x59, 0x76, 0x12, 0x74, 0x72, 0x7b); mi.position = 500090000; mi.name.t = _T(""); mi.pszService = protocolname"/ToggleEnable"; hEnableMenu = Menu_AddMainMenuItem(&mi); SET_UID(mi, 0xb290cccd, 0x4ecc, 0x475e, 0x87, 0xcb, 0x51, 0xf4, 0x3b, 0xc3, 0x44, 0x9c); mi.position = -0x7FFFFFFF; mi.name.t = _T(""); mi.pszService = protocolname"/ToggleAutoanswer"; hToggle = Menu_AddContactMenuItem(&mi); //add hook HookEvent(ME_OPT_INITIALISE, OptInit); HookEvent(ME_DB_EVENT_ADDED, addEvent); HookEvent(ME_SYSTEM_MODULESLOADED, CheckDefaults); Icon_RegisterT(hinstance, _T("Simple Auto Replier"), iconList, _countof(iconList)); return 0; }
extern "C" int __declspec(dllexport) Load() { mir_getLP(&pluginInfoEx); mir_getCLI(); Icon_RegisterT(hInst, _T(MODULE), g_iconList, _countof(g_iconList)); LoadMenus(); InitOptions(); for (int i = 0; i < _countof(s_fonts); i++) { LOGFONT lf; SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lf), &lf, FALSE); if (i == FLT_FONTID_OFFINVIS || i == FLT_FONTID_INVIS) lf.lfItalic = !lf.lfItalic; COLORREF defColor = GetSysColor((i == FLT_FONTID_NOTONLIST) ? COLOR_3DSHADOW : COLOR_WINDOWTEXT); char szId[20]; mir_snprintf(szId, "Font%d", i); FontService_RegisterFont(MODULE, szId, LPGENT("Floating contacts"), s_fonts[i], NULL, NULL, i + 1, false, &lf, defColor); } HookEvent(ME_SYSTEM_MODULESLOADED, OnModulesLoded); HookEvent(ME_SYSTEM_PRESHUTDOWN, OnPreshutdown); return 0; }
void GroupMenus_Init(void) { Icon_RegisterT(g_hInst, LPGENT("Contact list"), &iconItem, 1); CreateServiceFunction("CLISTMENUSGroup/ExecService", GroupMenuExecService); CreateServiceFunction("CLISTMENUSGroup/FreeOwnerDataGroupMenu", FreeOwnerDataGroupMenu); CreateServiceFunction("CLISTMENUSGroup/GroupMenuonAddService", GroupMenuonAddService); CreateServiceFunction("CLISTMENUSGroup/HideGroupsHelper", HideGroupsHelper); CreateServiceFunction("CLISTMENUSGroup/UseGroupsHelper", UseGroupsHelper); CreateServiceFunction("CLISTMENUSGroup/HideOfflineRootHelper", HideOfflineRootHelper); CreateServiceFunction("CLISTMENUSGroup/CreateGroupHelper", CreateGroupHelper); CreateServiceFunction("CList/AddGroupMenuItem", AddGroupMenuItem); CreateServiceFunction(MS_CLIST_MENUBUILDGROUP, BuildGroupMenu); HookEvent(ME_CLIST_PREBUILDGROUPMENU, OnBuildGroupMenu); InitSubGroupMenus(); // Group menu hGroupMenuObject = MO_CreateMenuObject("GroupMenu", LPGEN("Group menu"), 0, "CLISTMENUSGroup/ExecService"); MO_SetMenuObjectParam(hGroupMenuObject, OPT_USERDEFINEDITEMS, TRUE); MO_SetMenuObjectParam(hGroupMenuObject, OPT_MENUOBJECT_SET_FREE_SERVICE, "CLISTMENUSGroup/FreeOwnerDataGroupMenu"); MO_SetMenuObjectParam(hGroupMenuObject, OPT_MENUOBJECT_SET_ONADD_SERVICE, "CLISTMENUSGroup/GroupMenuonAddService"); //add exit command to menu GroupMenuParam gmp; CLISTMENUITEM mi = { sizeof(mi) }; mi.position = 1900000; mi.pszService = "CloseAction"; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_EXIT); mi.pszName = LPGEN("E&xit"); AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 500; mi.pszService = MS_CLIST_SHOWHIDE; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_SHOWHIDE); mi.pszName = LPGEN("&Hide/show"); hHideShowMainMenuItem = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 200000; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_FINDUSER); mi.pszService = "FindAdd/FindAddCommand"; mi.pszName = LPGEN("&Find/add contacts..."); AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 300000; mi.pszService = ""; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_MAINMENU); // eternity #004 mi.pszName = LPGEN("&Main menu"); hGroupMainMenuItemProxy = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 300100; mi.pszService = ""; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_STATUS); // eternity #004 mi.pszName = LPGEN("&Status"); hGroupStatusMenuItemProxy = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 400000; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_OPTIONS); mi.pszService = "Options/OptionsCommand"; mi.pszName = LPGEN("&Options..."); AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 500000; mi.icolibItem = LoadSkinnedIconHandle(SKINICON_OTHER_MIRANDA); mi.pszService = "Help/AboutCommand"; mi.pszName = LPGEN("&About"); AddGroupMenuItem(0, (LPARAM)&mi); mi.flags = 0; mi.position = 100000; mi.icolibItem = iconItem.hIcolib; mi.pszService = "CLISTMENUSGroup/CreateGroupHelper"; mi.pszName = LPGEN("&New group"); hNewGroupMenuItem = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); DestroyIcon_protect(mi.hIcon); mi.position = 100001; mi.hIcon = NULL; mi.icolibItem = NULL; mi.pszService = MS_CLIST_SETHIDEOFFLINE; mi.pszName = LPGEN("&Hide offline users"); gmp.lParam = 0; gmp.wParam = -1; hHideOfflineUsersMenuItem = (HGENMENU)AddGroupMenuItem((WPARAM)&gmp, (LPARAM)&mi); mi.position = 100002; mi.pszService = "CLISTMENUSGroup/HideOfflineRootHelper"; mi.pszName = LPGEN("Hide &offline users out here"); hHideOfflineUsersOutHereMenuItem = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 100003; mi.pszService = "CLISTMENUSGroup/HideGroupsHelper"; mi.pszName = LPGEN("Hide &empty groups"); hHideEmptyGroupsMenuItem = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); mi.position = 100004; mi.pszService = "CLISTMENUSGroup/UseGroupsHelper"; mi.pszName = LPGEN("Disable &groups"); hDisableGroupsMenuItem = (HGENMENU)AddGroupMenuItem(0, (LPARAM)&mi); }
void InitIconLibMenuIcons(void) { Icon_RegisterT(g_hInst, LPGENT("Contact list"), iconItem, SIZEOF(iconItem)); }
void InitIcons() { Icon_RegisterT(g_hInstance, LPGENT(MODULE), Icons, _countof(Icons), MODULE); }