/*
* 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<qtabdlg.h>
#include<qlist.h>

#include"moncfg.h"

class QCloseEvent;

/**
* Config dialog for mailbox monitors.
*
* @author Sirtaj Singh Kang (taj@kde.org)
* @version $Id: dropdlg.h,v 1.1 1999/07/22 18:16:51 tibirna Exp $
*/
class KDropCfgDialog : public QTabDialog
{
	Q_OBJECT

public:
	/**
	* KDropCfgDialog Constructor
	*/
	KDropCfgDialog( const char *caption="Monitor", QWidget *parent=0, 
		const char *name=0, bool modal = FALSE, WFlags f = 0 );

	/**
	* 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:
	virtual void done( int result );

private slots:

	/**
	* Update all connected monitors.
	*/
	void apply();

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

	QList<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
