From 97dda0b499c5ae5c09f658fec55420f31f8b5f2c Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 17 Jan 2014 18:38:06 +0100 Subject: [PATCH] The meta type based status to string conversion did not work, as the metatype for the interface cannot be registered. Changed to a simple static method, as it will be replaced by I18N anyway sooner or later. --- src/blackcore/network.h | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/blackcore/network.h b/src/blackcore/network.h index bf360a765..342d1b2b5 100644 --- a/src/blackcore/network.h +++ b/src/blackcore/network.h @@ -64,11 +64,20 @@ namespace BlackCore Connected }; - QString connectionStatusToString(ConnectionStatus status) const + static const QString connectionStatusToString(ConnectionStatus status) { - int index = metaObject()->indexOfEnumerator("ConnectionStatus"); - QMetaEnum metaEnum = metaObject()->enumerator(index); - return metaEnum.valueToKey(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 } virtual bool isConnected() const = 0; @@ -101,7 +110,7 @@ namespace BlackCore virtual void setOwnAircraftPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) = 0; virtual void setOwnAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation) = 0; virtual void setOwnAircraftAvionics(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2, - const BlackMisc::Aviation::CTransponder &xpdr) = 0; + const BlackMisc::Aviation::CTransponder &transponder) = 0; // Weather / flight plan virtual void requestMetar(const QString &airportICAO) = 0;