summaryrefslogtreecommitdiff
path: root/icons.cpp
blob: 94603b838144e522939c389772168e968b4597c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Copyright © 2010 SecureIM developers (baloo and others), sss
// 
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

#include "commonheaders.h"


// обновляет иконки в clist и в messagew
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);
			}
	}
	if(ServiceExists(MS_MSG_MODIFYICON))
	{  // обновить иконки в srmm
//		StatusIconData sid;
//		memset(&sid,0,sizeof(sid));
//		sid.cbSize = sizeof(sid);
//		sid.szModule = (char*)szGPGModuleName;
//				sid.flags |= MBF_HIDDEN;  // отключаем все ненужные иконки
//			CallService(MS_MSG_MODIFYICON, (WPARAM)hContact, (LPARAM)&sid);
//			if( hMC )
//			CallService(MS_MSG_MODIFYICON, (WPARAM)hMC, (LPARAM)&sid);
	}
}


void ShowStatusIcon(HANDLE hContact) 
{
	ShowStatusIcon(hContact,isContactSecured(hContact));
}

void ShowStatusIconNotify(HANDLE hContact) {
	bool enabled = isContactSecured(hContact);
//	NotifyEventHooks(g_hEvent[(mode&SECURED)!=0], (WPARAM)hContact, 0);
	ShowStatusIcon(hContact,enabled);
}


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);
	    while (hContact) 
		{ // сначала все выключаем
			ShowStatusIcon(hContact,0);
			hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
		}
	}
	hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDFIRST, 0, 0);
	while (hContact) 
	{ // и снова зажигаем иконку
		ShowStatusIcon(hContact);
		hContact = (HANDLE)CallService(MS_DB_CONTACT_FINDNEXT, (WPARAM)hContact, 0);
	}
//	CallService(MS_CLUI_LISTENDREBUILD,0,0);
}