--- 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 <QMetaType>
#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);