X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fbuffer.h;h=3465e5f282ccacb4ca807e40028fd9baea8bf811;hp=8e9bf6c0d9ea47f7e2a698b76bdc4aae084a44b0;hb=8a618fb4514d83a76cec8e7cd1319b935366a616;hpb=0ac9ce4d7cf768d13993d6aa1d6b791c4149a843 diff --git a/src/client/buffer.h b/src/client/buffer.h index 8e9bf6c0..3465e5f2 100644 --- a/src/client/buffer.h +++ b/src/client/buffer.h @@ -21,85 +21,95 @@ #ifndef _BUFFER_H_ #define _BUFFER_H_ -#include "global.h" - class AbstractUiMsg; -class Message; + struct BufferState; +#include "message.h" +#include "bufferinfo.h" + +#include + //!\brief Encapsulates the contents of a single channel, query or server status context. /** A Buffer maintains a list of existing nicks and their status. */ class Buffer : public QObject { Q_OBJECT - public: - Buffer(BufferId); - ~Buffer(); - - enum Type { ServerBuffer, ChannelBuffer, QueryBuffer }; - - enum Activity { - NoActivity = 0x00, - OtherActivity = 0x01, - NewMessage = 0x02, - Highlight = 0x40 - }; - Q_DECLARE_FLAGS(ActivityLevel, Activity) - - Type bufferType() const; - bool isActive() const; - - QString networkName() const; - QString bufferName() const; - QString displayName() const; - BufferId bufferId() const; - QList contents() const; - VarMap nickList() const; - QString topic() const; - QString ownNick() const; - bool isStatusBuffer() const; - - signals: - void userInput(const BufferId &, QString); - void nickListChanged(VarMap nicks); - void topicSet(QString topic); - void ownNickSet(QString ownNick); - void bufferUpdated(Buffer *); - void bufferDestroyed(Buffer *); - - void msgAppended(AbstractUiMsg *); - void msgPrepended(AbstractUiMsg *); - void layoutQueueEmpty(); - - public slots: - void setActive(bool active = true); - void appendMsg(const Message &); - void prependMsg(const Message &); - bool layoutMsg(); - void setTopic(QString); - //void setNicks(QStringList); - void addNick(QString nick, VarMap props); - void renameNick(QString oldnick, QString newnick); - void removeNick(QString nick); - void updateNick(QString nick, VarMap props); - void setOwnNick(QString nick); - - void processUserInput(QString); - - private: - BufferId id; - bool active; - Type type; - - VarMap nicks; - QString _topic; - QString _ownNick; - QString _networkName, _bufferName; - BufferState *state; - - QList layoutQueue; - QList layoutedMsgs; +public: + Buffer(BufferInfo, QObject *parent = 0); + ~Buffer(); + + enum Type { + ServerBuffer, + ChannelBuffer, + QueryBuffer + }; + + enum Activity { + NoActivity = 0x00, + OtherActivity = 0x01, + NewMessage = 0x02, + Highlight = 0x40 + }; + Q_DECLARE_FLAGS(ActivityLevel, Activity) + + bool isStatusBuffer() const; + Type bufferType() const; + bool isActive() const; + + BufferInfo bufferInfo() const; + void updateBufferInfo(BufferInfo bufferid); + + uint networkId() const; + + QString networkName() const; + QString bufferName() const; + QString displayName() const; + + QList contents() const; + + QVariantMap nickList() const; + QString topic() const; + QString ownNick() const; + +signals: + void userInput(const BufferInfo &, QString); + void nickListChanged(QVariantMap nicks); + void topicSet(QString topic); + void ownNickSet(QString ownNick); + void bufferUpdated(Buffer *); + void bufferDestroyed(Buffer *); + + void msgAppended(AbstractUiMsg *); + void msgPrepended(AbstractUiMsg *); + void layoutQueueEmpty(); + +public slots: + void setActive(bool active = true); + void appendMsg(const Message &); + void prependMsg(const Message &); + bool layoutMsg(); + + // no longer needed +// void setTopic(QString); +// //void setNicks(QStringList); +// void addNick(QString nick, QVariantMap props); +// void renameNick(QString oldnick, QString newnick); +// void removeNick(QString nick); +// void updateNick(QString nick, QVariantMap props); +// void setOwnNick(QString nick); + + void processUserInput(QString); + +private: + BufferInfo _bufferInfo; + bool _active; + Type _type; + BufferState *state; + + QList layoutQueue; + QList layoutedMsgs; }; Q_DECLARE_OPERATORS_FOR_FLAGS(Buffer::ActivityLevel)