summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qdebug.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-02-17 11:25:36 +0100
committerFriedemann Kleint <Friedemann.Kleint@theqtcompany.com>2015-02-26 12:16:51 +0000
commitcd46d94906ec0d10acd0fcb086d9177a1b282691 (patch)
treef8f4818e568a09d164ecc591732321056be73f8b /src/corelib/io/qdebug.cpp
parent9608629d7ee42dd65437d2e7fad5c91438d7de4b (diff)
Output registered enums in qDebug operator for QFlags.
Change-Id: Ia424df234fbd333782c10f0a4422875bb1bfc1f5 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/io/qdebug.cpp')
-rw-r--r--src/corelib/io/qdebug.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/corelib/io/qdebug.cpp b/src/corelib/io/qdebug.cpp
index f55f68f9b3..357d63137c 100644
--- a/src/corelib/io/qdebug.cpp
+++ b/src/corelib/io/qdebug.cpp
@@ -661,6 +661,20 @@ QDebug qt_QMetaEnum_debugOperator(QDebug &dbg, int value, const QMetaObject *met
dbg << ')';
return dbg;
}
-#endif
+
+QDebug qt_QMetaEnum_flagDebugOperator(QDebug &debug, quint64 value, const QMetaObject *meta, const char *name)
+{
+ QDebugStateSaver saver(debug);
+ debug.resetFormat();
+ debug.noquote();
+ debug.nospace();
+ debug << "QFlags<";
+ const QMetaEnum me = meta->enumerator(meta->indexOfEnumerator(name));
+ if (const char *scope = me.scope())
+ debug << scope << "::";
+ debug << me.name() << ">(" << me.valueToKeys(value) << ')';
+ return debug;
+}
+#endif // !QT_NO_QOBJECT
QT_END_NAMESPACE