diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-23 23:17:10 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2010-08-23 23:17:10 +0300 |
commit | 437e9f0426ef27117fce94646a13c33b76c13f54 (patch) | |
tree | 4c635eb185d0c2abad4c923191817d12736cd288 | |
parent | 12070f1ab059a9c1595616cde2397a09023eec9f (diff) |
modified: icons.cpp
modified: options.cpp
modified: srmm.cpp
modified: utilities.cpp
-rw-r--r-- | icons.cpp | 2 | ||||
-rw-r--r-- | options.cpp | 9 | ||||
-rw-r--r-- | srmm.cpp | 42 | ||||
-rw-r--r-- | utilities.cpp | 2 |
4 files changed, 43 insertions, 12 deletions
@@ -95,7 +95,7 @@ void setClistIcon(HANDLE hContact) }
else
{
- ExtraIcon_SetIcon(g_hCLIcon, hContact, (HANDLE)0);
+ ExtraIcon_SetIcon(g_hCLIcon, hContact, (HANDLE)0); // is it right ? hmm.., at least working....
if(hMC)
ExtraIcon_SetIcon(g_hCLIcon, hMC, (HANDLE)0);
}
diff --git a/options.cpp b/options.cpp index 8f64c98..e54eded 100644 --- a/options.cpp +++ b/options.cpp @@ -77,8 +77,6 @@ int GpgOptInit(WPARAM wParam,LPARAM lParam) return 0; } -HWND hwndLoadPublicKey = NULL; - map<int, HANDLE> user_data; int item_num = 0; @@ -680,7 +678,6 @@ static BOOL CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam,LP DestroyWindow(hwndDlg); break; case WM_DESTROY: - hwndLoadPublicKey = NULL; break; } @@ -692,9 +689,5 @@ static BOOL CALLBACK DlgProcLoadPublicKey(HWND hwndDlg,UINT msg,WPARAM wParam,LP void ShowLoadPublicKeyDialog() { - if (hwndLoadPublicKey == NULL) - { - hwndLoadPublicKey = CreateDialog(hInst, MAKEINTRESOURCE(IDD_LOAD_PUBLIC_KEY), NULL, DlgProcLoadPublicKey); - } - SetForegroundWindow(hwndLoadPublicKey); + DialogBox(hInst, MAKEINTRESOURCE(IDD_LOAD_PUBLIC_KEY), NULL, DlgProcLoadPublicKey); } @@ -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<int, HANDLE> 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;
}
diff --git a/utilities.cpp b/utilities.cpp index d181c8b..6988fed 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -491,7 +491,7 @@ void AddHandlers() bool isContactSecured(HANDLE hContact) { TCHAR *key = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); - if(DBGetContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0) && (_tcslen(key) > 1)) + if(DBGetContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0) && (_tcslen(key) > 0)) { mir_free(key); return true; |