/*
 * searchdialog.h
 *
 * Copyright (c) 2002, 2003 Frerich Raabe <raabe@kde.org>
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. For licensing and distribution details, check the
 * accompanying file 'COPYING'.
 */
#ifndef SEARCHDIALOG_H
#define SEARCHDIALOG_H

#include "actionprogressdialog.h"
#include "searchquery.h"

#include <kdialogbase.h>

class KComboBox;
class QCheckBox;

namespace Barry
{
	class SearchDialog : public KDialogBase
	{
		Q_OBJECT
		public:
			SearchDialog( QWidget *parent );

			SearchQuery searchQuery() const;

		protected slots:
			virtual void slotUser1();

		private slots:
			void openRegexpDlg();

		private:
			bool regexpEditorAvailable() const;

			KComboBox *m_searchBox;
			QCheckBox *m_caseSensitive;
			QCheckBox *m_isRegExp;
			QCheckBox *m_searchBackwards;
			QCheckBox *m_searchNames;
			QCheckBox *m_searchComments;
			QCheckBox *m_searchDescriptions;
	};

	class SearchProgressDialog : public ActionProgressDialog
	{
		Q_OBJECT
		public:
			SearchProgressDialog( const SearchQuery &query, QWidget *parent,
			                      const char *name = 0 );

		protected:
			void processPort( const Port &port );

			SearchQuery m_query;
	};
};

#endif // SEARCHDIALOG_H
// vim:ts=4:sw=4:noet:list
