Browse Source

Add qDebug support for XlsxColor

master
Debao Zhang 11 years ago
parent
commit
3a5c844386
  1. 18
      src/xlsx/xlsxcolor.cpp
  2. 10
      src/xlsx/xlsxcolor_p.h
  3. 9
      src/xlsx/xlsxformat.cpp

18
src/xlsx/xlsxcolor.cpp

@ -4,6 +4,7 @@
#include <QXmlStreamReader> #include <QXmlStreamReader>
#include <QXmlStreamWriter> #include <QXmlStreamWriter>
#include <QDebug>
namespace QXlsx { namespace QXlsx {
@ -176,4 +177,21 @@ QDataStream &operator>>(QDataStream &s, XlsxColor &color)
#endif #endif
#ifndef QT_NO_DEBUG_STREAM
QDebug operator<<(QDebug dbg, const XlsxColor &c)
{
if (c.isInvalid())
dbg.nospace() << "XlsxColor(invalid)";
else if (c.isRgbColor())
dbg.nospace() << c.rgbColor();
else if (c.isIndexedColor())
dbg.nospace() << "XlsxColor(indexed," << c.indexedColor() << ")";
else if (c.isThemeColor())
dbg.nospace() << "XlsxColor(theme," << c.themeColor().join(QLatin1Char(':')) << ")";
return dbg.space();
}
#endif
} // namespace QXlsx } // namespace QXlsx

10
src/xlsx/xlsxcolor_p.h

@ -48,7 +48,7 @@ namespace QXlsx {
class Styles; class Styles;
class XlsxColor class Q_XLSX_EXPORT XlsxColor
{ {
public: public:
explicit XlsxColor(const QColor &color = QColor()); explicit XlsxColor(const QColor &color = QColor());
@ -77,8 +77,12 @@ private:
}; };
#if !defined(QT_NO_DATASTREAM) #if !defined(QT_NO_DATASTREAM)
QDataStream &operator<<(QDataStream &, const XlsxColor &); Q_XLSX_EXPORT QDataStream &operator<<(QDataStream &, const XlsxColor &);
QDataStream &operator>>(QDataStream &, XlsxColor &); Q_XLSX_EXPORT QDataStream &operator>>(QDataStream &, XlsxColor &);
#endif
#ifndef QT_NO_DEBUG_STREAM
Q_XLSX_EXPORT QDebug operator<<(QDebug dbg, const XlsxColor &c);
#endif #endif
} // namespace QXlsx } // namespace QXlsx

9
src/xlsx/xlsxformat.cpp

@ -180,7 +180,14 @@ FormatPrivate::~FormatPrivate()
*/ */
Format::Format() Format::Format()
{ {
qRegisterMetaTypeStreamOperators<XlsxColor>("XlsxColor"); if (QMetaType::type("XlsxColor") == QMetaType::UnknownType) {
//Fix me! Where should we put these register code?
qRegisterMetaType<XlsxColor>("XlsxColor");
qRegisterMetaTypeStreamOperators<XlsxColor>("XlsxColor");
#if QT_VERSION >= 0x050200
QMetaType::registerDebugStreamOperator<XlsxColor>();
#endif
}
//The d pointer is initialized with a null pointer //The d pointer is initialized with a null pointer
} }

Loading…
Cancel
Save