summaryrefslogtreecommitdiff
path: root/utilities.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utilities.cpp')
-rw-r--r--utilities.cpp38
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;
+}