X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcommon%2Fglobal.cpp;h=bd5ee2048b14b0824e3f4e220e0210a0478260eb;hp=09aa5902aa63c1637b2be50da6de69ad7d580f73;hb=21bae45824145c256bdca18b84b34e31aa2f668d;hpb=b797e5f581b10a517c30f78cb53f813af741e261 diff --git a/src/common/global.cpp b/src/common/global.cpp index 09aa5902..bd5ee204 100644 --- a/src/common/global.cpp +++ b/src/common/global.cpp @@ -17,6 +17,7 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include #include #include @@ -24,6 +25,7 @@ #include "logger.h" #include "message.h" #include "identity.h" +#include "network.h" #include "bufferinfo.h" #include "types.h" #include "syncableobject.h" @@ -64,31 +66,74 @@ void Global::initIconMap() { //! 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("NetworkInfo"); qRegisterMetaType("Identity"); + qRegisterMetaType("Network::ConnectionState"); qRegisterMetaTypeStreamOperators("QVariant"); qRegisterMetaTypeStreamOperators("Message"); qRegisterMetaTypeStreamOperators("BufferInfo"); + qRegisterMetaTypeStreamOperators("NetworkInfo"); qRegisterMetaTypeStreamOperators("Identity"); + qRegisterMetaTypeStreamOperators("Network::ConnectionState"); - // Basic types (typedefs) - // These use the standard stream operators qRegisterMetaType("IdentityId"); qRegisterMetaType("BufferId"); qRegisterMetaType("NetworkId"); + qRegisterMetaType("UserId"); + qRegisterMetaType("AccountId"); + qRegisterMetaType("MsgId"); qRegisterMetaTypeStreamOperators("IdentityId"); qRegisterMetaTypeStreamOperators("BufferId"); qRegisterMetaTypeStreamOperators("NetworkId"); + qRegisterMetaTypeStreamOperators("UserId"); + qRegisterMetaTypeStreamOperators("AccountId"); + qRegisterMetaTypeStreamOperators("MsgId"); +} + +//! This includes version.inc and possibly version.gen and sets up our version numbers. +void Global::setupVersion() { +# include "version.inc" +# include "version.gen" + + if(quasselGeneratedVersion.isEmpty()) { + if(quasselCommit.isEmpty()) + quasselVersion = QString("v%1 (unknown rev)").arg(quasselBaseVersion); + else + quasselVersion = QString("v%1 (dist-%2, %3)").arg(quasselBaseVersion).arg(quasselCommit.left(7)) + .arg(QDateTime::fromTime_t(quasselArchiveDate).toLocalTime().toString("yyyy-MM-dd")); + } else { + QStringList parts = quasselGeneratedVersion.split(':'); + quasselVersion = QString("v%1").arg(parts[0]); + if(parts.count() >= 2) quasselVersion.append(QString(" (%1)").arg(parts[1])); + } + quasselBuildDate = __DATE__; + quasselBuildTime = __TIME__; } +// Static variables + +QString Global::quasselVersion; +QString Global::quasselBaseVersion; +QString Global::quasselGeneratedVersion; +QString Global::quasselBuildDate; +QString Global::quasselBuildTime; +QString Global::quasselCommit; +uint Global::quasselArchiveDate; +uint Global::protocolVersion; +uint Global::clientNeedsProtocol; +uint Global::coreNeedsProtocol; + Global::RunMode Global::runMode; uint Global::defaultPort; +bool Global::DEBUG;