summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2014-06-20 15:35:34 +0200
committerKai Koehne <kai.koehne@digia.com>2014-07-30 16:27:33 +0200
commit5b0be0c2173e365b2484844ffd0b23ead5f9a48a (patch)
tree7fbd450869303c6e7b7ac3f91d75ce40c7049f9e /src/corelib
parentb795e8d7c2dbb04ed9bde4500a46511339b8df31 (diff)
QDebug: Improve QDebug stream operator for QFlags
Use the built-in hex, showbase manipulator to format the number in hex. Also, apply nospace() only once. Change-Id: Id4b3d5f082ad13f52c8711408d7ec609bec3a621 Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/io/qdebug.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h
index d224359724..6b81d9431f 100644
--- a/src/corelib/io/qdebug.h
+++ b/src/corelib/io/qdebug.h
@@ -259,21 +259,21 @@ inline QDebug operator<<(QDebug debug, const QContiguousCache<T> &cache)
template <class T>
inline QDebug operator<<(QDebug debug, const QFlags<T> &flags)
{
- const bool oldSetting = debug.autoInsertSpaces();
- debug.nospace() << "QFlags(";
+ QDebugStateSaver saver(debug);
+ debug.resetFormat();
+ debug.nospace() << "QFlags(" << hex << showbase;
bool needSeparator = false;
for (uint i = 0; i < sizeof(T) * 8; ++i) {
if (flags.testFlag(T(1 << i))) {
if (needSeparator)
- debug.nospace() << '|';
+ debug << '|';
else
needSeparator = true;
- debug.nospace() << "0x" << QByteArray::number(typename QFlags<T>::Int(1) << i, 16).constData();
+ debug << (typename QFlags<T>::Int(1) << i);
}
}
debug << ')';
- debug.setAutoInsertSpaces(oldSetting);
- return debug.maybeSpace();
+ return debug;
}
QT_END_NAMESPACE