diff options
-rw-r--r-- | icons.cpp | 33 | ||||
-rw-r--r-- | init.cpp | 2 | ||||
-rw-r--r-- | utilities.cpp | 7 |
3 files changed, 21 insertions, 21 deletions
@@ -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);
}
@@ -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; } |