X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fglobal.cpp;h=a2742d87ce4ab8864726bb74b1e5f9c5a1c1dfaa;hp=53178dfffbb882ca2401ac66b0bab4f68e51aa97;hb=c6bc07febff322910675a1eb60c44f6be209a934;hpb=e579b77068ae216e275fee0bb560c2a4ea9c7225 diff --git a/src/common/global.cpp b/src/common/global.cpp index 53178dff..a2742d87 100644 --- a/src/common/global.cpp +++ b/src/common/global.cpp @@ -18,9 +18,14 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include +#include #include "global.h" #include "logger.h" +#include "message.h" +#include "identity.h" +#include "bufferinfo.h" +#include "types.h" extern void messageHandler(QtMsgType type, const char *msg); @@ -56,6 +61,33 @@ void Global::initIconMap() { // return 0; //} +//! Register our custom types with Qt's Meta Object System. +/** This makes them available for QVariant and in signals/slots, among other things. + */ +void Global::registerMetaTypes() { + // Complex types + qRegisterMetaType("QVariant"); + qRegisterMetaType("Message"); + qRegisterMetaType("BufferInfo"); + qRegisterMetaType("Identity"); + + qRegisterMetaTypeStreamOperators("QVariant"); + qRegisterMetaTypeStreamOperators("Message"); + qRegisterMetaTypeStreamOperators("BufferInfo"); + qRegisterMetaTypeStreamOperators("Identity"); + + // Basic types (typedefs) + // These use the standard stream operators + qRegisterMetaType("IdentityId"); + qRegisterMetaType("BufferId"); + qRegisterMetaType("NetworkId"); + + qRegisterMetaTypeStreamOperators("IdentityId"); + qRegisterMetaTypeStreamOperators("BufferId"); + qRegisterMetaTypeStreamOperators("NetworkId"); + +} + Global::RunMode Global::runMode; uint Global::defaultPort;