diff -r 6aeb7a756187 -r 3c88a81ff781 browsercore/core/webpagedata.h --- a/browsercore/core/webpagedata.h Thu Sep 23 15:32:11 2010 -0400 +++ b/browsercore/core/webpagedata.h Fri Oct 15 17:30:59 2010 -0400 @@ -27,16 +27,86 @@ #include #include "BWFGlobal.h" -class BWF_EXPORT WebPageData : public QObject +class BWF_EXPORT WebPageData { - Q_OBJECT +static const unsigned int DataMagic = 0x5AFEF00D; + public: - WebPageData(){}; - WebPageData(QObject *parent) : QObject(parent) {}; - WebPageData(const WebPageData& o) : m_thumbnail(o.m_thumbnail),m_zoomFactor(o.m_zoomFactor),m_contentsPos(o.m_contentsPos) {}; - QImage m_thumbnail; - qreal m_zoomFactor; - QPoint m_contentsPos; + WebPageData() : + magic(0) // default constructor should create valid item + , minScale(1.0) + , maxScale(1.0) + , userScalable(true) + , initialScale(1.0) + , rect(QRectF()) + , webViewRect(QRectF()) + , scale(1.0) + , viewportSize(QSizeF()) + , specifiedWidth(QString()) + , specifiedHeight(QString()) + , fitToScreen(0) + {}; + + WebPageData(qreal aMaxScale, qreal aMinScale, qreal aUserScalable, qreal aInitialScale) : + magic(DataMagic) + , minScale(aMinScale) + , maxScale(aMaxScale) + , userScalable(aUserScalable) + , initialScale(aInitialScale) + , rect(QRectF()) + , webViewRect(QRectF()) + , scale(1.0) + , viewportSize(QSizeF()) + , specifiedWidth(QString()) + , specifiedHeight(QString()) + , fitToScreen(0) + {}; + + WebPageData(qreal aMaxScale, qreal aMinScale, qreal aUserScalable, qreal aInitialScale, const QRectF& aRect, const QRectF& aWebViewRect, + qreal aScale, const QSizeF& aViewportSize, const QString& aSpecifiedWidth, const QString& aSpecifiedHeight, bool aFitToScreen) : + magic(DataMagic) + , minScale(aMinScale) + , maxScale(aMaxScale) + , userScalable(aUserScalable) + , initialScale(aInitialScale) + , rect(aRect) + , webViewRect(aWebViewRect) + , scale(aScale) + , viewportSize(aViewportSize) + , specifiedWidth(aSpecifiedWidth) + , specifiedHeight(aSpecifiedHeight) + , fitToScreen(aFitToScreen) + {}; + + WebPageData(const WebPageData& o) : //: QObject() + magic(o.magic) + , minScale(o.minScale) + , maxScale(o.maxScale) + , userScalable(o.userScalable) + , initialScale(o.initialScale) + , rect(o.rect) + , webViewRect(o.webViewRect) + , scale(o.scale) + , viewportSize(o.viewportSize) + , specifiedWidth(o.specifiedWidth) + , specifiedHeight(o.specifiedHeight) + , fitToScreen(o.fitToScreen) + {}; + + bool isValid() const { return magic == DataMagic; } + + unsigned int magic; + qreal minScale; + qreal maxScale; + bool userScalable; + qreal initialScale; + QRectF rect; + QRectF webViewRect; + qreal scale; + QSizeF viewportSize; + QString specifiedWidth; + QString specifiedHeight; + bool fitToScreen; }; Q_DECLARE_METATYPE (WebPageData) QDataStream &operator<<(QDataStream &out, const WebPageData &myObj);