#pragma once
#include "TreeOptionsCtrlEx.h"

class CPPgTweaksMod1 : public CPropertyPage
{
	DECLARE_DYNAMIC(CPPgTweaksMod1)

public:
	CPPgTweaksMod1();
	virtual ~CPPgTweaksMod1();

// Dialog Data
	enum { IDD = IDD_PPG_TWEAKS_PP };
	
	void Localize(void);

protected:
	virtual void DoDataExchange(CDataExchange* pDX);
	virtual BOOL OnInitDialog();
	virtual BOOL OnApply();
	virtual BOOL OnKillActive();
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);

	DECLARE_MESSAGE_MAP()
    //afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnDestroy();
	afx_msg LRESULT OnTreeOptsCtrlNotify(WPARAM wParam, LPARAM /*lParam*/);
	afx_msg void OnHelp();
	afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo);

	CTreeOptionsCtrlEx m_ctrlTreeOptions;
	bool m_bInitializedTreeOpts;

//////////////////////////////////////////////////////////////////////////////////////
// vars
protected:
	void    SetNull();

	//>> pP: SLS
	HTREEITEM m_htiSLS;
	HTREEITEM m_htiUseSLS;
	HTREEITEM m_htiSLSlimit;
	HTREEITEM m_htiSLSnumber;
	bool m_bUseSaveLoadSources;
	int  m_iSLSlimit;
	int  m_iSLSnumber;
	//<< pP: SLS

	//>> pP: SourceDrops
	HTREEITEM	m_htiDropGrp;
	HTREEITEM	m_htiNNSGrp;
	HTREEITEM	m_htiFQGrp;
	HTREEITEM	m_htiHQRGrp;
	HTREEITEM	m_htiUNKGrp;
	HTREEITEM	m_htiTMGrp;
	HTREEITEM	m_htiDropNNS;
	HTREEITEM	m_htiDropNNSTime;
	HTREEITEM	m_htiDropFQ;
	HTREEITEM	m_htiDropFQTime;
	HTREEITEM	m_htiDropHQR;
	HTREEITEM	m_htiDropHQRTime;
	HTREEITEM	m_htiDropHQRLimit;
	HTREEITEM	m_htiDropUNK;
	HTREEITEM	m_htiDropUNKTime;
	HTREEITEM	m_htiDropTM;
	HTREEITEM	m_htiDropTMTime;
	HTREEITEM	m_htiLogDrops;
	HTREEITEM	m_htiDropBR; //>> pP: Drop Blocking Clients [XRay]
	//HTREEITEM   m_htiDropLimit;
	int		m_iDropLimit;
	bool	m_bDropNNS;
	int		m_iDropNNSTime;
	bool	m_bDropFQ;
	int		m_iDropFQTime;
	bool	m_bDropHQR;
	int		m_iDropHQRTime;
	int		m_iDropHQRLimit;
	bool	m_bDropUNK;
	int		m_iDropUNKTime;
	bool	m_bDropTM;
	int		m_iDropTMTime;
	bool	m_bLogDrops;
	bool	m_bDropBR; //>> pP: Drop Blocking Clients [XRay]
	//<< pP: SourceDrops

	//>> pP: AutoHL
	HTREEITEM   m_htiAutoHL_Group;
	HTREEITEM	m_htiAutoHL_Enabled;
	HTREEITEM	m_htiAutoHL_UseDrop;
	HTREEITEM	m_htiAutoHL_MaxFiles;
	HTREEITEM	m_htiAutoHL_MinFiles;
	HTREEITEM	m_htiAutoHL_Time;
	HTREEITEM   m_htiAutoHL_OptGrp;
	bool	m_bAutoHL_Enabled;
	bool	m_bAutoHL_UseDrop;
	int		m_uAutoHL_MaxFiles;
	int		m_uAutoHL_MinFiles;
	int		m_uAutoHL_Time;
	//<< pP: AutoHL

	//>> pP: ReaskAfterChangedIP [Stulle]
	HTREEITEM m_htiReaskGrp;
	HTREEITEM m_htiReaskSources;
	HTREEITEM m_htiInformQueue;
	bool	m_bInformQueue;
	bool	m_bReaskSources;
	//<< pP: ReaskAfterChangedIP [Stulle]

	HTREEITEM m_htiReAskFileSrc; // Timer for ReAsk File Sources - Stulle
	int m_iReAskFileSrc; // Timer for ReAsk File Sources - Stulle
};
