* Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
+#include <QDebug>
+
#include "buffer.h"
#include "client.h"
+#include "ircchannel.h"
+#include "nickmodel.h"
#include "util.h"
Buffer::Buffer(BufferInfo bufferid, QObject *parent)
: QObject(parent),
_bufferInfo(bufferid),
- _active(false)
+ _active(false),
+ _ircChannel(0), _nickModel(0)
{
if(bufferid.buffer().isEmpty())
- _type = ServerBuffer;
+ _type = StatusType;
else if(isChannelName(bufferid.buffer()))
- _type = ChannelBuffer;
+ _type = ChannelType;
else
- _type = QueryBuffer;
+ _type = QueryType;
+ _nickModel = new NickModel(0, this);
/*
QSettings s;
s.beginGroup(QString("GUI/BufferStates/%1/%2").arg(netname).arg(bufname));
s.endGroup();
*/
//delete state;
- emit bufferDestroyed(this);
}
Buffer::Type Buffer::bufferType() const {
_bufferInfo = bufferid;
}
+uint Buffer::uid() const {
+ return bufferInfo().uid();
+}
+
uint Buffer::networkId() const {
return bufferInfo().networkId();
}
return bufferInfo().network();
}
-QString Buffer::bufferName() const {
- return bufferInfo().buffer();
-}
-
-QString Buffer::displayName() const {
- if(bufferType() == ServerBuffer)
+QString Buffer::name() const {
+ if(bufferType() == StatusType)
return tr("Status Buffer");
else
- return bufferName();
+ return bufferInfo().buffer();
}
QList<AbstractUiMsg *> Buffer::contents() const {
}
bool Buffer::isStatusBuffer() const {
- return bufferType() == ServerBuffer;
+ return bufferType() == StatusType;
}
void Buffer::setActive(bool a) {
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);
+ }
+ _ircChannel = ircchan;
+ if(_ircChannel) {
+ connect(_ircChannel, SIGNAL(destroyed()), this, SLOT(setIrcChannel()));
+ }
+ _nickModel->setIrcChannel(ircChannel());
+}
+
// no longer needed
// back reference:
// void Buffer::setTopic(QString t) {