summaryrefslogtreecommitdiff
path: root/ping_protocol/menu.cpp
diff options
context:
space:
mode:
authorsje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2006-11-01 14:44:34 +0000
committersje <sje@4f64403b-2f21-0410-a795-97e2b3489a10>2006-11-01 14:44:34 +0000
commit49b4d6dd9d4d35adc9f02df4010a1a6b33faba63 (patch)
tree403d0508eed3d1e1c9b336251eff931f3f2511b1 /ping_protocol/menu.cpp
parentb61df7acc1235b3b2a66217d0d7358199c5d37f9 (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.cpp96
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