/* * Copyright (c) 2010 Kevin Smith * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include #include #include "Swiften/Events/StanzaEvent.h" #include "Swift/QtUI/EventViewer/QtEvent.h" namespace Swift { class EventModel : public QAbstractListModel { Q_OBJECT public: EventModel(); ~EventModel(); void addEvent(boost::shared_ptr event, bool active); void removeEvent(boost::shared_ptr event); QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; int rowCount(const QModelIndex& parent = QModelIndex()) const; QtEvent* getItem(int row) const; int getNewEventCount(); protected: QModelIndex index ( int row, int column = 0, const QModelIndex & parent = QModelIndex() ) const; private: QList activeEvents_; QList inactiveEvents_; }; }