diff options
author | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2006-11-01 14:44:34 +0000 |
---|---|---|
committer | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2006-11-01 14:44:34 +0000 |
commit | 49b4d6dd9d4d35adc9f02df4010a1a6b33faba63 (patch) | |
tree | 403d0508eed3d1e1c9b336251eff931f3f2511b1 /ping_protocol/menu.cpp | |
parent | b61df7acc1235b3b2a66217d0d7358199c5d37f9 (diff) |
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@12 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'ping_protocol/menu.cpp')
-rw-r--r-- | ping_protocol/menu.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/ping_protocol/menu.cpp b/ping_protocol/menu.cpp new file mode 100644 index 0000000..b05f849 --- /dev/null +++ b/ping_protocol/menu.cpp @@ -0,0 +1,96 @@ +#include "stdafx.h"
+#include "menu.h"
+
+HANDLE hMenuDisable, hMenuGraph, hMenuEdit;
+HANDLE hEventMenuBuild;
+
+int MenuBuild(WPARAM wParam, LPARAM lParam) {
+ CLISTMENUITEM menu;
+ ZeroMemory(&menu,sizeof(menu));
+ menu.cbSize=sizeof(menu);
+
+ menu.flags = CMIM_NAME | CMIM_ICON;
+ bool disable = DBGetContactSettingWord((HANDLE)wParam, PROTO, "Status", ID_STATUS_OFFLINE) != options.off_status;
+ if(disable) {
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.off_status);
+ menu.pszName = Translate("Disable");
+ } else {
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.rstatus);
+ menu.pszName = Translate("Enable");
+ }
+ CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuDisable, (LPARAM)&menu);
+
+ // hide graph menu item if window displayed
+ //menu.flags = CMIM_FLAGS | (DBGetContactSettingDword((HANDLE)wParam, PROTO, "WindowHandle", 0) == 0 ? 0 : CMIF_HIDDEN);
+ //CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuGraph, (LPARAM)&menu);
+
+ return 0;
+}
+
+void InitMenus() {
+
+ CLISTMENUITEM menu;
+ ZeroMemory(&menu,sizeof(menu));
+ menu.cbSize=sizeof(menu);
+
+ // main menu
+ menu.flags = 0;
+ menu.popupPosition = 500099900;
+ menu.pszPopupName = Translate( "PING" );
+ menu.cbSize = sizeof( menu );
+ menu.position = 2000060000;
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.rstatus);
+ menu.pszName = Translate( "Enable All Pings" );
+ menu.pszService = PROTO "/EnableAll";
+ CallService( MS_CLIST_ADDMAINMENUITEM, 0, (LPARAM)&menu );
+
+ menu.flags = 0;
+ menu.popupPosition = 500299901;
+ menu.pszPopupName = Translate( "PING" );
+ menu.cbSize = sizeof( menu );
+ menu.position = 2000060001;
+ menu.popupPosition = 0;
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.off_status);
+ menu.pszName = Translate( "Disable All Pings" );
+ menu.pszService = PROTO "/DisableAll";
+ CallService( MS_CLIST_ADDMAINMENUITEM, 0, (LPARAM)&menu );
+
+ // contact
+ menu.flags = 0;
+ menu.popupPosition = 0;
+ menu.pszPopupName = 0;
+ menu.cbSize = sizeof( menu );
+ menu.position =-300100;
+ //menu.popupPosition = 0;
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.off_status);
+ menu.pszName = Translate( "Disable" );
+ menu.pszService = PROTO "/ToggleEnabled";
+ menu.pszContactOwner = PROTO;
+ hMenuDisable = (HANDLE)CallService( MS_CLIST_ADDCONTACTMENUITEM, 0, (LPARAM)&menu );
+
+ menu.flags = 0;
+ menu.popupPosition = 0;
+ menu.pszPopupName = 0;
+ menu.cbSize = sizeof( menu );
+ menu.position =-300090;
+ //menu.popupPosition = 0;
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.rstatus);
+ menu.pszName = Translate( "Graph" );
+ menu.pszService = PROTO "/ShowGraph";
+ menu.pszContactOwner = PROTO;
+ hMenuGraph = (HANDLE)CallService( MS_CLIST_ADDCONTACTMENUITEM, 0, (LPARAM)&menu );
+
+ menu.flags = 0;
+ menu.popupPosition = 0;
+ menu.pszPopupName = 0;
+ menu.cbSize = sizeof( menu );
+ menu.position =-300080;
+ //menu.popupPosition = 0;
+ menu.hIcon = LoadSkinnedProtoIcon(PROTO, options.rstatus);
+ menu.pszName = Translate( "Edit..." );
+ menu.pszService = PROTO "/Edit";
+ menu.pszContactOwner = PROTO;
+ hMenuGraph = (HANDLE)CallService( MS_CLIST_ADDCONTACTMENUITEM, 0, (LPARAM)&menu );
+
+ hEventMenuBuild = HookEvent(ME_CLIST_PREBUILDCONTACTMENU, MenuBuild);
+}
\ No newline at end of file |