From b8ab705f6fe2df0ce3aebe5749521f768d4df5e8 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Mon, 23 Aug 2010 20:23:34 +0300 Subject: modified: icons.cpp modified: init.cpp modified: utilities.cpp --- icons.cpp | 33 ++++++++++++++------------------- init.cpp | 2 +- utilities.cpp | 7 ++++++- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/icons.cpp b/icons.cpp index 23cee80..bb1f460 100644 --- a/icons.cpp +++ b/icons.cpp @@ -81,30 +81,28 @@ HANDLE IconLibHookIconsChanged(MIRANDAHOOK hook) void ShowStatusIcon(HANDLE hContact,bool enabled) { extern HANDLE g_hCLIcon; - extern IconExtraColumn g_IEC; HANDLE getMetaContact(HANDLE hContact); HANDLE hMC = getMetaContact(hContact); - HICON icon = NULL; //need to get icon here if(g_hCLIcon) { // обновить иконки в clist -// IconExtraColumn iec=g_IEC.hImage = (HANDLE) CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)icon, (LPARAM)0);; -// if(g_hCLIcon) - { -// ExtraIcon_SetIcon(g_hCLIcon, hContact, iec.hImage); -// if(hMC) -// ExtraIcon_SetIcon(g_hCLIcon, hMC, iec.hImage); - } + HICON icon = IconLibGetIcon(enabled?"secured":"unsecured"); + IconExtraColumn iec = {0}; + iec.hImage = (HANDLE)CallService(MS_CLIST_EXTRA_ADD_ICON, (WPARAM)icon, (LPARAM)0); + ExtraIcon_SetIcon(g_hCLIcon, hContact, iec.hImage); + if(hMC) + ExtraIcon_SetIcon(g_hCLIcon, hMC, iec.hImage); } if(ServiceExists(MS_MSG_MODIFYICON)) { // обновить иконки в srmm -// StatusIconData sid; -// memset(&sid,0,sizeof(sid)); -// sid.cbSize = sizeof(sid); -// sid.szModule = (char*)szGPGModuleName; + StatusIconData sid; + memset(&sid,0,sizeof(sid)); + sid.cbSize = sizeof(sid); + sid.szModule = (char*)szGPGModuleName; + sid.hIcon = IconLibGetIcon(enabled?"secured":"unsecured"); // sid.flags |= MBF_HIDDEN; // отключаем все ненужные иконки -// CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid); -// if( hMC ) -// CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid); + CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid); + if( hMC ) + CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid); } } @@ -116,7 +114,6 @@ void ShowStatusIcon(HANDLE hContact) void ShowStatusIconNotify(HANDLE hContact) { bool enabled = isContactSecured(hContact); -// NotifyEventHooks(g_hEvent[(mode&SECURED)!=0], (WPARAM)hContact, 0); ShowStatusIcon(hContact,enabled); } @@ -125,7 +122,6 @@ void RefreshContactListIcons(void) { HANDLE hContact; extern HANDLE g_hCLIcon; -// CallService(MS_CLUI_LISTBEGINREBUILD,0,0); if( !g_hCLIcon ) { hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0); @@ -141,5 +137,4 @@ void RefreshContactListIcons(void) ShowStatusIcon(hContact); hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0); } -// CallService(MS_CLUI_LISTENDREBUILD,0,0); } diff --git a/init.cpp b/init.cpp index 354d977..465b77e 100644 --- a/init.cpp +++ b/init.cpp @@ -181,7 +181,7 @@ static int OnModulesLoaded(WPARAM wParam,LPARAM lParam) HookEvent(ME_MSG_ICONPRESSED, onIconPressed); if(ServiceExists(MS_EXTRAICON_REGISTER)) - g_hCLIcon = ExtraIcon_Register(szGPGModuleName, Translate("SecureIM status"), "sim_cm_est", (MIRANDAHOOK)onExtraImageListRebuilding, (MIRANDAHOOK)onExtraImageApplying); + g_hCLIcon = ExtraIcon_Register(szGPGModuleName, Translate("GPG encryption status"), "secured", (MIRANDAHOOK)onExtraImageListRebuilding, (MIRANDAHOOK)onExtraImageApplying); diff --git a/utilities.cpp b/utilities.cpp index 6f5a654..fb522b6 100644 --- a/utilities.cpp +++ b/utilities.cpp @@ -486,8 +486,13 @@ void AddHandlers() bool isContactSecured(HANDLE hContact) { - if(DBGetContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0)) + TCHAR *key = UniGetContactSettingUtf(hContact, szGPGModuleName, "GPGPubKey", _T("")); + if(DBGetContactSettingByte(hContact, szGPGModuleName, "GPGEncryption", 0) && (_tcslen(key) > 1)) + { + mir_free(key); return true; + } + mir_free(key); return false; } -- cgit v1.2.3