X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=main%2Fglobal.cpp;h=3317cfdae71ea21d6baf2bfbcf8901b954c4ed24;hp=962ac41c7b711d2be607b22d036e34776d1aec84;hb=c708edbf883dc3ee9604f4c72b37304424b8c4c4;hpb=13e45fd2d89d3704aebfba1031cfc7b23aad73d2 diff --git a/main/global.cpp b/main/global.cpp index 962ac41c..3317cfda 100644 --- a/main/global.cpp +++ b/main/global.cpp @@ -22,6 +22,7 @@ #include "logger.h" #include "core.h" #include "message.h" +#include "util.h" #include #include @@ -33,6 +34,9 @@ Global::Global() { qInstallMsgHandler(messageHandler); qRegisterMetaType("Message"); qRegisterMetaTypeStreamOperators("Message"); + qRegisterMetaType("BufferId"); + qRegisterMetaTypeStreamOperators("BufferId"); + //initIconMap(); } @@ -94,6 +98,35 @@ void Global::initIconMap() { */ } +/**************************************************************************************/ + + + +BufferId::BufferId(uint _id, QString _net, QString _buf, uint _gid) : id(_id), gid(_gid), net(_net), buf(_buf) { + + +} + +QString BufferId::buffer() { + if(isChannelName(buf)) return buf; + else return nickFromMask(buf); +} + +QDataStream &operator<<(QDataStream &out, const BufferId &bufferId) { + out << bufferId.id << bufferId.gid << bufferId.net.toUtf8() << bufferId.buf.toUtf8(); +} + +QDataStream &operator>>(QDataStream &in, BufferId &bufferId) { + QByteArray n, b; + BufferId i; + in >> bufferId.id >> bufferId.gid >> n >> b; + bufferId.net = QString::fromUtf8(n); + bufferId.buf = QString::fromUtf8(b); +} + +uint qHash(const BufferId &bid) { + return qHash(bid.id); +} /** * Retrieves an icon determined by its symbolic name. The mapping shall later @@ -110,3 +143,4 @@ void Global::initIconMap() { Global *global = 0; Global::RunMode Global::runMode; +QString Global::quasselDir;