Improve debug output of QImage, QPixmap and QIcon.

Task-number: QTBUG-38858
Change-Id: Ie45d595478f971c7ed973d911c65484d947d2a60
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
This commit is contained in:
Friedemann Kleint 2014-07-21 16:20:13 +02:00
parent c76a91ebdc
commit 43e8c1896d
3 changed files with 33 additions and 3 deletions

View File

@ -1321,7 +1321,17 @@ QDataStream &operator>>(QDataStream &s, QIcon &icon)
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QIcon &i)
{
dbg.nospace() << "QIcon(" << i.name() << ')';
QDebug nospace = dbg.nospace();
nospace << "QIcon(";
if (i.isNull()) {
nospace << "null";
} else {
if (!i.name().isEmpty())
nospace << i.name() << ',';
nospace << "availableSizes[normal,Off]=" << i.availableSizes()
<< ",cacheKey=" << showbase << hex << i.cacheKey() << dec << noshowbase;
}
nospace << ')';
return dbg.space();
}
#endif

View File

@ -4550,7 +4550,18 @@ bool QImageData::convertInPlace(QImage::Format newFormat, Qt::ImageConversionFla
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QImage &i)
{
dbg.nospace() << "QImage(" << i.size() << ')';
QDebug nospace = dbg.nospace();
nospace << "QImage(";
if (i.isNull()) {
nospace << "null";
} else {
nospace << i.size() << ",format=" << i.format() << ",depth=" << i.depth();
if (i.colorCount())
nospace << ",colorCount=" << i.colorCount();
nospace << ",devicePixelRatio=" << i.devicePixelRatio()
<< ",bytesPerLine=" << i.bytesPerLine() << ",byteCount=" << i.byteCount();
}
nospace << ')';
return dbg.space();
}
#endif

View File

@ -1724,7 +1724,16 @@ QPlatformPixmap* QPixmap::handle() const
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const QPixmap &r)
{
dbg.nospace() << "QPixmap(" << r.size() << ')';
QDebug nospace = dbg.nospace();
nospace << "QPixmap(";
if (r.isNull()) {
nospace << "null";
} else {
nospace << r.size() << ",depth=" << r.depth()
<< ",devicePixelRatio=" << r.devicePixelRatio()
<< ",cacheKey=" << showbase << hex << r.cacheKey() << dec << noshowbase;
}
nospace << ')';
return dbg.space();
}
#endif