summaryrefslogtreecommitdiff
path: root/plugins/AuthState/src/options.h
blob: 9621036a314852f6f67bcccd55eb560988ec3825 (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
#pragma once

struct Opts
{
	CMOption<BYTE> bUseAuthIcon;
	CMOption<BYTE> bUseGrantIcon;
	CMOption<BYTE> bContactMenuItem;
	CMOption<BYTE> bIconsForRecentContacts;

	Opts() :
		bUseAuthIcon(MODULENAME, "EnableAuthIcon", 1),
		bUseGrantIcon(MODULENAME, "EnableGrantIcon", 1),
		bContactMenuItem(MODULENAME, "MenuItem", 0),
		bIconsForRecentContacts(MODULENAME, "EnableOnlyForRecent", 0)
	{}
};

extern Opts Options;


class COptionsDialog : public CDlgBase
{
	CCtrlCheck m_chkAuthIcon;
	CCtrlCheck m_chkGrantIcon;
	CCtrlCheck m_chkMenuItem;
	CCtrlCheck m_chkOnlyForRecent;
public:
	COptionsDialog() : 
		CDlgBase(g_plugin, IDD_AUTHSTATE_OPT),
		m_chkAuthIcon(this, IDC_AUTHICON),
		m_chkGrantIcon(this, IDC_GRANTICON),
		m_chkMenuItem(this, IDC_ENABLEMENUITEM),
		m_chkOnlyForRecent(this, IDC_ICONSFORRECENT)
	{
		CreateLink(m_chkAuthIcon, Options.bUseAuthIcon);
		CreateLink(m_chkGrantIcon, Options.bUseGrantIcon);
		CreateLink(m_chkMenuItem, Options.bContactMenuItem);
		CreateLink(m_chkOnlyForRecent, Options.bIconsForRecentContacts);
	}

	void OnApply() override
	{
		for (auto &hContact : Contacts())
			onExtraImageApplying((WPARAM)hContact, 0);
	}
};