From 437e9f0426ef27117fce94646a13c33b76c13f54 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Mon, 23 Aug 2010 23:17:10 +0300 Subject: modified: icons.cpp modified: options.cpp modified: srmm.cpp modified: utilities.cpp --- srmm.cpp | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) (limited to 'srmm.cpp') diff --git a/srmm.cpp b/srmm.cpp index 6d00040..d5f6061 100644 --- a/srmm.cpp +++ b/srmm.cpp @@ -41,7 +41,45 @@ int __cdecl onIconPressed(WPARAM wParam, LPARAM lParam) { StatusIconClickData *sicd = (StatusIconClickData *)lParam; if(strcmp(sicd->szModule, szGPGModuleName) != 0) - return 0; // not our event - + return 0; // not our event + + void setSrmmIcon(HANDLE); + void setClistIcon(HANDLE); + TCHAR *key = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); + BYTE enc = DBGetContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0); + if(enc) + { + DBWriteContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0); + setSrmmIcon(hContact); + setClistIcon(hContact); + } + else if(!enc) + { + if(_tcslen(key) < 1) + { + void ShowLoadPublicKeyDialog(); + extern map user_data; + extern int item_num; + item_num = 0; //black magic here + user_data[1] = hContact; + ShowLoadPublicKeyDialog(); + } + else + { + DBWriteContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 1); + setSrmmIcon(hContact); + setClistIcon(hContact); + mir_free(key); + return 0; + } + mir_free(key); + key = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); + if(_tcslen(key) > 0) + { + DBWriteContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 1); + setSrmmIcon(hContact); + setClistIcon(hContact); + } + } return 0; } -- cgit v1.2.3