//
// C++ Interface: rename
//
// Description: 
//
//
// Author: Spiros Georgaras <sng@hellug.gr>, (C) 2009
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef MULTISELECT_H
#define MULTISELECT_H

#include "ui_multiselecttool.h"

#include "main.h"
#include "iconload.h"
#include <QtGui/QDialog>
#include <QMouseEvent>
#include <QKeyEvent>
#include <QResizeEvent>
#include <krun.h>
#include <kregexpeditorinterface.h>
#include <kservicetypetrader.h>
// #include <kparts/componentfactory.h>





class multiSelect : public QDialog, public Ui::multiSelTool
{
    Q_OBJECT
public:
    /**
     * Default constructor
     */
//      multiSelect(QDialog * parent = 0);
     multiSelect(QWidget * parent = 0);
//      multiSelect(QDialog * parent = 0, iconload * ic =0 );
     multiSelect(QWidget * parent = 0, iconload * ic =0 );
		 
    /**
     * Destructor
     */
    virtual ~multiSelect();

private:
    Ui::multiSelTool ms;
		QDialog *regExpDialog;
		bool canUseKRegExpEditor;
		int numOfHistoryItems;

		void readHistory();
		void writeHistory();
// signals:
//     /**
//      * Use this signal to change the content of the statusbar
//      */
//     void signalChangeStatusbar(const QString& text);
// 
//     /**
//      * Use this signal to change the content of the caption
//      */
//     void signalChangeCaption(const QString& text);
// 
 private slots:
	void keyPressEvent( QKeyEvent *e );
	void reaxPart( bool state );
	void changeLabel( bool state );
	void resizeEvent ( QResizeEvent *e );
	void showHelp();
	void buttonOkClicked();
	void slotEditRegExp();
};

#endif // MULTISELECT_H