/*
 * filelistview.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 FILELISTVIEW_H
#define FILELISTVIEW_H

#include "port.h"

#include <klistview.h>

class QListViewItem;
class QTimer;

namespace Barry
{
	class FileList : public KListView
	{
		Q_OBJECT
		public:
			FileList( QWidget *parent );
			virtual ~FileList();

		signals:
			void statusMessage( const QString &message );
			void processFinished();

		public slots:
			void setFileList( const Port &port );
		
		private slots:
			void showContextMenu( KListView *, QListViewItem *item,
			                      const QPoint &p );
			void showProperties();
			void openFile();
			void checkFile();

		private:
			void startFileCheck();
			void readFileChecksums();

			QTimer *m_checkTimer;
			QListViewItem *m_curItem;
			Port m_port;
			QMap<QString, QString> m_checksumMap;
	};
};

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