From e94c705bb01c662d934c0096480bc9a732d0e1ec Mon Sep 17 00:00:00 2001 From: watcherhd Date: Thu, 19 Jan 2012 12:21:27 +0000 Subject: FacebookRM: Version bump Version 0.0.7.0 + Support for group chats (EXPERIMENTAL!) - enable it in options ! Fixed loading contact list ! Fixed potential freeze. Total downloads: (None or statistics not available yet) Version 0.0.6.1a Reuploaded. Total downloads: (None or statistics not available yet) Version 0.0.6.1 + Returned option to close chat windows (on website) + New option to map non-standard statuses to Invisible (insetad of Online) + New option to load contacts, which have "On the Phone" status ! Fixed changing chat visibility ! Very long messages are no longer received duplicitely ! Changes and fixes related to multiuser messages and messages from people, which are not in server-list Total downloads: (None or statistics not available yet) git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@261 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb --- FacebookRM/theme.cpp | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 9 deletions(-) (limited to 'FacebookRM/theme.cpp') diff --git a/FacebookRM/theme.cpp b/FacebookRM/theme.cpp index 30f4513..6e919ae 100644 --- a/FacebookRM/theme.cpp +++ b/FacebookRM/theme.cpp @@ -32,16 +32,18 @@ extern OBJLIST g_Instances; struct { const char* name; - const char* descr; + char* descr; int defIconID; const char* section; } static const icons[] = { - { "facebook", LPGEN("Facebook Icon"), IDI_FACEBOOK }, - { "mind", LPGEN("Mind"), IDI_MIND }, + { "facebook", LPGEN("Facebook Icon"), IDI_FACEBOOK }, + { "mind", LPGEN("Mind"), IDI_MIND }, + { "removeFriend", LPGEN("Remove from server"), IDI_REMOVEFRIEND }, + { "addFriend", LPGEN("Request friendship"), IDI_ADDFRIEND }, - { "homepage", LPGEN("Visit Profile"), 0, "core_main_2" }, + { "homepage", LPGEN("Visit Profile"), 0, "core_main_2" }, }; static HANDLE hIconLibItem[SIZEOF(icons)]; @@ -98,8 +100,18 @@ HANDLE GetIconHandle(const char* name) return 0; } +char *GetIconDescription(const char* name) +{ + for(size_t i=0; iOnPrebuildContactMenu(wParam,lParam) : 0; } -HANDLE hHookPreBuildMenu,sVisitProfile; +HANDLE hHookPreBuildMenu,sVisitProfile,sAddFriend,sRemoveFriend; void InitContactMenus() { hHookPreBuildMenu = HookEvent(ME_CLIST_PREBUILDCONTACTMENU,PrebuildContactMenu); @@ -141,11 +153,27 @@ void InitContactMenus() mi.position=-2000006000; mi.icolibItem = GetIconHandle("homepage"); - mi.pszName = LPGEN("Visit Profile"); + mi.pszName = GetIconDescription("homepage"); mi.pszService = "FacebookProto/VisitProfile"; sVisitProfile = CreateServiceFunction(mi.pszService,GlobalService<&FacebookProto::VisitProfile>); g_hMenuItems[1] = reinterpret_cast( CallService(MS_CLIST_ADDCONTACTMENUITEM,0,(LPARAM)&mi) ); + + mi.position=-2000006000; + mi.icolibItem = GetIconHandle("removeFriend"); + mi.pszName = GetIconDescription("removeFriend"); + mi.pszService = "FacebookProto/RemoveFriend"; + sRemoveFriend = CreateServiceFunction(mi.pszService,GlobalService<&FacebookProto::RemoveFriend>); + g_hMenuItems[2] = reinterpret_cast( + CallService(MS_CLIST_ADDCONTACTMENUITEM,0,(LPARAM)&mi) ); + + mi.position=-2000006000; + mi.icolibItem = GetIconHandle("addFriend"); + mi.pszName = GetIconDescription("addFriend"); + mi.pszService = "FacebookProto/AddFriend"; + sAddFriend = CreateServiceFunction(mi.pszService,GlobalService<&FacebookProto::AddFriend>); + g_hMenuItems[3] = reinterpret_cast( + CallService(MS_CLIST_ADDCONTACTMENUITEM,0,(LPARAM)&mi) ); } void UninitContactMenus() @@ -154,15 +182,17 @@ void UninitContactMenus() CallService(MS_CLIST_REMOVECONTACTMENUITEM,(WPARAM)g_hMenuItems[i],0); UnhookEvent(hHookPreBuildMenu); DestroyServiceFunction(sVisitProfile); + DestroyServiceFunction(sRemoveFriend); + DestroyServiceFunction(sAddFriend); } -void ShowContactMenus(bool show) +void ShowContactMenus(bool show, bool deleted) { for(size_t i=0; i(g_hMenuItems[i]), -- cgit v1.2.3