//
// C++ Interface:
//
// Description:
//
//
// Author: Christian Hubinger <chubinger@gmail.com>, (C) 2004
//
// Copyright: See COPYING file that comes with this distribution
// License: GPL
//

#ifndef KMFTEMPLATECHOOSER_H
#define KMFTEMPLATECHOOSER_H

#include "kmyfirewalltemplatechooser.h"

// Qt includes
#include <qstring.h>
#include <qstringlist.h>
#include <qptrlist.h>

// KDE includes
#include <kdemacros.h>

// project includes


class QListBoxItem;

class KDE_EXPORT KMFTemplateChooser : public KMyFirewallTemplateChooser {
	Q_OBJECT

public:
	KMFTemplateChooser(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
	~KMFTemplateChooser();
	/*$PUBLIC_FUNCTIONS$*/

	void setFileExtention( const QString& = "kmfrs" );
	
	
public slots:
	/*$PUBLIC_SLOTS$*/

protected:
	/*$PROTECTED_FUNCTIONS$*/

protected slots:
	/*$PROTECTED_SLOTS$*/
	virtual void          reject();
	virtual void          accept();
	void          slotHelp();
	void slotNewTemplateSelected( int );
	void slotNewTemplateSelected( QListBoxItem* );
	
private:
	void parseTemplates();
	void parseFile( const QString& );
	
private: // data
	QStringList m_templateDescriptions;
	QStringList m_templateFilePaths;
	
signals:
    void sigLoadTemplate( const QString& );
 		
};

#endif

