#ifndef __konq_events_h__
#define __konq_events_h__

//$Id: konq_events.h,v 1.11.2.1 2003/05/18 12:36:02 mueller Exp $

#include <kparts/event.h>
#include <qptrlist.h>

namespace KParts
{
  class ReadOnlyPart;
}

class KFileItem;
typedef QPtrList<KFileItem> KFileItemList;

class KonqFileSelectionEvent : public KParts::Event
{
public:
  KonqFileSelectionEvent( const KFileItemList &selection, KParts::ReadOnlyPart *part ) : KParts::Event( s_fileItemSelectionEventName ), m_selection( selection ), m_part( part ) {}

  KFileItemList selection() const { return m_selection; }
  KParts::ReadOnlyPart *part() const { return m_part; }

  static bool test( const QEvent *event ) { return KParts::Event::test( event, s_fileItemSelectionEventName ); }

private:
  static const char *s_fileItemSelectionEventName;

  KFileItemList m_selection;
  KParts::ReadOnlyPart *m_part;
};

class KonqFileMouseOverEvent : public KParts::Event
{
public:
  KonqFileMouseOverEvent( const KFileItem *item, KParts::ReadOnlyPart *part ) : KParts::Event( s_fileItemMouseOverEventName ), m_item( item ), m_part( part ) {}

  const KFileItem* item() const { return m_item; }
  KParts::ReadOnlyPart *part() const { return m_part; }

  static bool test( const QEvent *event ) { return KParts::Event::test( event, s_fileItemMouseOverEventName ); }

private:
  static const char *s_fileItemMouseOverEventName;

  const KFileItem* m_item;
  KParts::ReadOnlyPart *m_part;
};

#endif
