diff options
Diffstat (limited to 'utilities.cpp')
-rw-r--r-- | utilities.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/utilities.cpp b/utilities.cpp index 0e4fc06..3f03297 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -148,3 +148,41 @@ void GetFolderPath(TCHAR *WindowTittle, char *szSetting) }
}
} + +int LoadKey(WPARAM w, LPARAM l) +{ + void ShowLoadPublicKeyDialog(); + extern std::map<int, HANDLE> user_data; + extern int item_num; + item_num = 0; //black magic here + user_data[1] = (HANDLE)w; + ShowLoadPublicKeyDialog(); + return 0; +} + + extern HANDLE hLoadPublicKey, hToggleEncryption; + +int ToggleEncryption(WPARAM w, LPARAM l) +{ + HANDLE hContact = (HANDLE)w; + BYTE enc = DBGetContactSettingByte(hContact, szModuleName, "GPGEncryption", 0); + enc?DBWriteContactSettingByte(hContact, szModuleName, "GPGEncryption", 0):DBWriteContactSettingByte(hContact, szModuleName, "GPGEncryption", 1); + enc?enc = 0:enc = 1; + CLISTMENUITEM mi = {0}; + mi.cbSize=sizeof(mi); + mi.flags = CMIM_NAME; + enc?mi.pszName="Turn on GPG encryption":mi.pszName="Turn off GPG encryption"; + CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hToggleEncryption, (LPARAM)&mi); + return 0; +} + +int OnPreBuildContactMenu(WPARAM w, LPARAM l) +{ + HANDLE hContact = (HANDLE)w; + CLISTMENUITEM mi = {0}; + mi.cbSize=sizeof(mi); + mi.flags = CMIM_NAME; + DBGetContactSettingByte(hContact, szModuleName, "GPGEncryption", 0)?mi.pszName="Turn on GPG encryption":mi.pszName="Turn off GPG encryption"; + CallService(MS_CLIST_MODIFYMENUITEM, (WPARAM)hToggleEncryption, (LPARAM)&mi); + return 0; +} |