browsercore/core/webpagedata.h
changeset 16 3c88a81ff781
parent 3 0954f5dd2cd0
--- 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);