2
kopeteinfoeventmanager.cpp - Kopete Info Event Manager
4
Copyright (c) 2008 by Roman Jarosz <kedgedev@centrum.cz>
5
Kopete (c) 2008 by the Kopete developers <kopete-devel@kde.org>
7
*************************************************************************
9
* This library is free software; you can redistribute it and/or *
10
* modify it under the terms of the GNU Lesser General Public *
11
* License as published by the Free Software Foundation; either *
12
* version 2 of the License, or (at your option) any later version. *
14
*************************************************************************
16
#include "kopeteinfoeventmanager.h"
17
#include "kopeteinfoevent.h"
19
#include <QApplication>
20
#include <QStringList>
24
class InfoEventManager::Private
27
QList<InfoEvent*> eventList;
30
InfoEventManager *InfoEventManager::instance = 0L;
32
InfoEventManager::InfoEventManager()
33
: QObject( qApp ), d( new Private )
38
InfoEventManager::~InfoEventManager()
44
InfoEventManager *InfoEventManager::self()
47
instance = new InfoEventManager;
52
void InfoEventManager::addEvent( Kopete::InfoEvent* event )
54
emit eventAboutToBeAdded( event );
56
if ( !event->isClosed() )
58
connect( event, SIGNAL(eventClosed(Kopete::InfoEvent*)),
59
this, SLOT(eventClosed(Kopete::InfoEvent*)) );
61
d->eventList.append( event );
62
emit eventAdded( event );
67
QList<InfoEvent*> InfoEventManager::events() const
72
int InfoEventManager::eventCount() const
74
return d->eventList.count();
77
Kopete::InfoEvent* InfoEventManager::event( int i ) const
79
return d->eventList.at( i );
82
void InfoEventManager::eventClosed( Kopete::InfoEvent* event )
84
d->eventList.removeAll( event );
90
#include "kopeteinfoeventmanager.moc"