summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-08-23 20:23:34 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-08-23 20:23:34 +0300
commitb8ab705f6fe2df0ce3aebe5749521f768d4df5e8 (patch)
tree2011c3dbd93a20c668923053df1b73863d21df23
parent8983afc0314cb42ddc7ff709b78ae32b6fd1f900 (diff)
modified: icons.cpp
modified: init.cpp modified: utilities.cpp
-rw-r--r--icons.cpp33
-rw-r--r--init.cpp2
-rw-r--r--utilities.cpp7
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;
}