diff options
author | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2007-10-03 08:03:17 +0000 |
---|---|---|
committer | sje <sje@4f64403b-2f21-0410-a795-97e2b3489a10> | 2007-10-03 08:03:17 +0000 |
commit | f99d18dd83625a753a7171e807b404345b11de4d (patch) | |
tree | 3e05a5a78611fb447951ed800355bd335c1b2b2c /meta2/menu.cpp | |
parent | e52098965bc45872cff2d99147b0c27769c146f0 (diff) |
fix major bug in 'get most online supporting cap' function
notify of subcontact change on any subcontact status change
calculate subcontacts and meta status after modules loaded
use meta map for contact count
git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@342 4f64403b-2f21-0410-a795-97e2b3489a10
Diffstat (limited to 'meta2/menu.cpp')
-rw-r--r-- | meta2/menu.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/meta2/menu.cpp b/meta2/menu.cpp index 68c3674..2ff4e62 100644 --- a/meta2/menu.cpp +++ b/meta2/menu.cpp @@ -37,7 +37,7 @@ int ContactMenuConvert(WPARAM wParam, LPARAM lParam) { int ContactMenuAdd(WPARAM wParam, LPARAM lParam) {
HANDLE hContact = (HANDLE)wParam;
TCHAR buff[256];
- mir_sntprintf(buff, 256, TranslateT("Adding %s..."), (TCHAR *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)hContact, GCDNF_TCHAR));
+ mir_sntprintf(buff, 256, TranslateT("Adding %s..."), ContactName(hContact));
HANDLE hMeta = SelectMeta(buff);
if(hMeta)
Meta_Assign(hContact, hMeta);
@@ -133,7 +133,7 @@ int PrebuildContactMenu(WPARAM wParam, LPARAM lParam) { SubcontactList::Iterator i = metaMap[hContact].start();
int count = 0;
while(i.has_val()) {
- mi.ptszName = (TCHAR *)CallService(MS_CLIST_GETCONTACTDISPLAYNAME, (WPARAM)i.val().handle(), GCDNF_TCHAR);
+ mi.ptszName = ContactName(i.val().handle());
mi.hIcon = ImageList_GetIcon(il, (int)CallService(MS_CLIST_GETCONTACTICON, (WPARAM)i.val().handle(), 0), 0);
CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuContact[count], (LPARAM)&mi);
@@ -158,10 +158,10 @@ int PrebuildContactMenu(WPARAM wParam, LPARAM lParam) { } else {
mi.flags = CMIM_FLAGS;
- if(meta_count) CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuAdd, (LPARAM)&mi);
+ if(metaMap.size()) CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuAdd, (LPARAM)&mi);
CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuConvert, (LPARAM)&mi);
mi.flags = CMIM_FLAGS | CMIF_HIDDEN;
- if(!meta_count) CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuAdd, (LPARAM)&mi);
+ if(!metaMap.size()) CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuAdd, (LPARAM)&mi);
CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuRemove, (LPARAM)&mi);
CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hMenuDefault, (LPARAM)&mi);
}
|