From 26ef5ecd5a763f8d8a780751e4a6e287d7efe569 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Sun, 19 Jan 2014 00:03:52 +0000 Subject: [PATCH] reverted commit:97dda0b because QMetaEnum is working fine, it just needed the Q_ENUMS macro too made INetwork::connectionStatusToString a static method --- src/blackcore/network.h | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/blackcore/network.h b/src/blackcore/network.h index 342d1b2b5..e8e37ce28 100644 --- a/src/blackcore/network.h +++ b/src/blackcore/network.h @@ -38,6 +38,7 @@ namespace BlackCore class INetwork : public QObject { Q_OBJECT + Q_ENUMS(ConnectionStatus) protected: /*! @@ -64,20 +65,11 @@ namespace BlackCore Connected }; - static const QString connectionStatusToString(ConnectionStatus status) + static QString connectionStatusToString(ConnectionStatus status) { - // the version with metaObject, metaObject()->indexOfEnumerator does not work anymore - // an interface cannot be used with Q_DECLAREMETATYPE - switch (status) - { - case Disconnected: return "disconnected"; - case DisconnectedError: return "disconnectedError"; - case Connecting: return "connecting"; - case Connected: return "connected"; - default: break; - } - qFatal("Missing value"); - return ""; // just for compiler warning + int index = staticMetaObject.indexOfEnumerator("ConnectionStatus"); + QMetaEnum metaEnum = staticMetaObject.enumerator(index); + return metaEnum.valueToKey(status); } virtual bool isConnected() const = 0;