From 8551deec1d694fafacb5476e0203441829063faf Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Sun, 17 Apr 2016 19:37:20 +0000 Subject: oops git-svn-id: http://svn.miranda-ng.org/main/trunk@16709 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/AuthState/src/options.h | 66 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 plugins/AuthState/src/options.h (limited to 'plugins') diff --git a/plugins/AuthState/src/options.h b/plugins/AuthState/src/options.h new file mode 100644 index 0000000000..35c75d697a --- /dev/null +++ b/plugins/AuthState/src/options.h @@ -0,0 +1,66 @@ +struct Opts +{ + CMOption bUseAuthIcon; + CMOption bUseGrantIcon; + CMOption bContactMenuItem; + CMOption bIconsForRecentContacts; + + Opts() : + bUseAuthIcon(MODULENAME, "EnableAuthIcon", 1), + bUseGrantIcon(MODULENAME, "EnableGrantIcon", 1), + bContactMenuItem(MODULENAME, "MenuItem", 0), + bIconsForRecentContacts(MODULENAME, "EnableOnlyForRecent", 0) + {} +}; + +extern Opts Options; + +class CPluginDlgBase : public CDlgBase +{ + const char *m_szModule; +public: + CPluginDlgBase(HINSTANCE hInst, int idDialog, const char *module) : CDlgBase(hInst, idDialog), m_szModule(module) {}; + + void CreateLink(CCtrlData& ctrl, const char *szSetting, BYTE type, DWORD iValue) + { + ctrl.CreateDbLink(m_szModule, szSetting, type, iValue); + } + void CreateLink(CCtrlData& ctrl, const char *szSetting, TCHAR *szValue) + { + ctrl.CreateDbLink(m_szModule, szSetting, szValue); + } + template + __inline void CreateLink(CCtrlData& ctrl, CMOption &option) + { + ctrl.CreateDbLink(new CMOptionLink(option)); + } +}; + + +class COptionsDialog : public CPluginDlgBase +{ + CCtrlCheck m_chkAuthIcon; + CCtrlCheck m_chkGrantIcon; + CCtrlCheck m_chkMenuItem; + CCtrlCheck m_chkOnlyForRecent; +public: + COptionsDialog() : + CPluginDlgBase(g_hInst, IDD_AUTHSTATE_OPT, MODULENAME), + 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 (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) + onExtraImageApplying((WPARAM)hContact, 0); + } + +}; \ No newline at end of file -- cgit v1.2.3