/*
* mcfgdlg.h -- Declaration of class KDropCfgDialog.
* Generated by newclass on Wed Jul 29 04:02:28 EST 1998.
*/
#ifndef SSK_MCFGDLG_H
#define SSK_MCFGDLG_H

#include<qtabdialog.h>
#include<qptrlist.h>
#include<kdialogbase.h>

#include"moncfg.h"

class QCloseEvent;

/**
* Config dialog for mailbox monitors.
*
* @author Sirtaj Singh Kang (taj@kde.org), Rik Hemsley <rik@kde.org>
* @version $Id: dropdlg.h,v 1.5 2001/09/22 16:01:30 mlaurent Exp $
*/
class KDropCfgDialog : public KDialogBase
{
	Q_OBJECT

public:
	/**
	* KDropCfgDialog Constructor
	*/
	KDropCfgDialog(const QString & caption);

	/**
	* KDropCfgDialog Destructor
	*/
	virtual ~KDropCfgDialog();
	
	/**
	* Add a configuration handler to the dialog. Each handler
	* encapsulates read/update operations for a monitor and
	* the configuration UI for it.
	* @see KMonitorCfg
	*/
	void addConfigPage( KMonitorCfg *page );

protected slots:

	/**
	* Update all connected monitors.
	*/
	void slotOkClicked();
	void slotApplyClicked();

private:
	KDropCfgDialog& operator=( KDropCfgDialog& );
	KDropCfgDialog( const KDropCfgDialog& );

	QPtrList<KMonitorCfg> _notifiers;

	void die();


signals:

	/**
	* Clients of the dialog should not interact with this class
	* once this has been called and should assume it no longer
	* exists.
	*/
	void disassociate( KDropCfgDialog * );
};

#endif // SSK_MCFGDLG_H
