#include "client.h"
#include "ircchannel.h"
+#include "nickmodel.h"
#include "util.h"
: QObject(parent),
_bufferInfo(bufferid),
_active(false),
- _ircChannel(0)
+ _ircChannel(0), _nickModel(0)
{
if(bufferid.buffer().isEmpty())
_type = StatusType;
else
_type = QueryType;
+ _nickModel = new NickModel(0, this);
/*
QSettings s;
s.beginGroup(QString("GUI/BufferStates/%1/%2").arg(netname).arg(bufname));
}
QString Buffer::topic() const {
- // FIXME check if we got a networkInfo() object
+ if(ircChannel()) return ircChannel()->topic();
return QString();
}
QString Buffer::ownNick() const {
- // FIXME check if we got a networkInfo() object
+ // FIXME if(ircChannel()) return ircChannel()->ownNick();
return QString();
}
emit userInput(_bufferInfo, msg);
}
+NickModel *Buffer::nickModel() const {
+ return _nickModel;
+}
+
IrcChannel *Buffer::ircChannel() const {
return _ircChannel;
}
void Buffer::setIrcChannel(IrcChannel *ircchan) {
if(_ircChannel) {
disconnect(_ircChannel, 0, this, 0);
- // TODO: remove model etc
}
_ircChannel = ircchan;
if(_ircChannel) {
+ emit topicSet(_ircChannel->topic());
+ connect(_ircChannel, SIGNAL(topicSet(QString)), this, SIGNAL(topicSet(QString)));
connect(_ircChannel, SIGNAL(destroyed()), this, SLOT(setIrcChannel()));
}
+ _nickModel->setIrcChannel(ircChannel());
}
// no longer needed
// back reference:
-// void Buffer::setTopic(QString t) {
-// _topic = t;
-// emit topicSet(t);
-// emit bufferUpdated(this);
-// }
// void Buffer::addNick(QString nick, QVariantMap props) {
// if(nick == ownNick()) setActive(true);