From 4583a24484a3eee749614b6fe0a3ead2d6be5f72 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Sat, 28 Aug 2010 10:24:35 +0300 Subject: metacontacts code --- utilities.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'utilities.cpp') diff --git a/utilities.cpp b/utilities.cpp index b07b7ba..6fe66a8 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -178,13 +178,20 @@ void GetFolderPath(TCHAR *WindowTittle, char *szSetting) } } +BOOL isProtoMetaContacts(HANDLE hContact); +HANDLE getMostOnline(HANDLE hContact); + + int LoadKey(WPARAM w, LPARAM l) { void ShowLoadPublicKeyDialog(); extern map user_data; extern int item_num; item_num = 0; //black magic here - user_data[1] = (HANDLE)w; + HANDLE hContact = (HANDLE)w; + if(isProtoMetaContacts(hContact)) + hContact = getMostOnline(hContact); + user_data[1] = hContact; ShowLoadPublicKeyDialog(); return 0; } @@ -192,6 +199,8 @@ int LoadKey(WPARAM w, LPARAM l) int SendKey(WPARAM w, LPARAM l) { HANDLE hContact = (HANDLE)w; + if(isProtoMetaContacts(hContact)) + hContact = getMostOnline(hContact); char *szMessage = UniGetContactSettingUtf(NULL, szGPGModuleName, "GPGPubKey", ""); if(strlen(szMessage) > 1) { @@ -210,6 +219,8 @@ extern HANDLE hLoadPublicKey, hToggleEncryption; int ToggleEncryption(WPARAM w, LPARAM l) { HANDLE hContact = (HANDLE)w; + if(isProtoMetaContacts(hContact)) + hContact = getMostOnline(hContact); BYTE enc = DBGetContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0); DBWriteContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", enc?0:1); void setSrmmIcon(HANDLE hContact); @@ -228,6 +239,8 @@ int ToggleEncryption(WPARAM w, LPARAM l) int OnPreBuildContactMenu(WPARAM w, LPARAM l) { HANDLE hContact = (HANDLE)w; + if(isProtoMetaContacts(hContact)) + hContact = getMostOnline(hContact); CLISTMENUITEM mi = {0}; mi.cbSize=sizeof(mi); mi.flags = CMIM_NAME; -- cgit v1.2.3