ginebra2/MostVisitedView.h
changeset 16 3c88a81ff781
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ginebra2/MostVisitedView.h	Fri Oct 15 17:30:59 2010 -0400
@@ -0,0 +1,86 @@
+#ifndef MOSTVISITEDVIEW_H
+#define MOSTVISITEDVIEW_H
+
+#include <QObject>
+#include <QGraphicsWidget>
+
+#include "GridView.h"
+#include "Utilities.h"
+
+class MostVisitedPage;
+class QGraphicsLinearLayout;
+class QGraphicsSimpleTextItem;
+class QEvent;
+
+class QStm_Gesture;
+
+namespace GVA {
+
+class ScaleThreePainter;
+
+class MostVisitedViewItem : public QGraphicsWidget {
+    Q_OBJECT
+public:
+    MostVisitedViewItem(::MostVisitedPage *mostVisitedPage, QGraphicsItem *parent);
+
+    void activate();
+    bool event(QEvent* event);
+    bool eventFilter(QObject* o, QEvent* e);
+    
+protected:
+    bool handleQStmGesture(QStm_Gesture* gesture);
+
+signals:
+    void activated();
+
+private:
+    virtual QSizeF sizeHint ( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const  {
+        Q_UNUSED(which)
+        Q_UNUSED(constraint)
+        #ifdef Q_WS_MAEMO_5
+        return QSizeF(238, 126);
+        #else
+        return QSizeF(150, 105);
+        #endif
+    }
+    virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0);   
+private:
+    MostVisitedPage *m_mostVisitedPage;
+};
+
+// --------------------------------------------
+
+class MostVisitedView : public QGraphicsWidget {
+    Q_OBJECT
+public:
+    MostVisitedView(const QString &title = QString::null, QGraphicsItem *parent = 0);
+    virtual ~MostVisitedView();
+    void update(QString mode);
+signals:
+    void closeComplete();
+    void activated();
+
+private slots:
+    void onItemActivated();
+
+private:
+    virtual void resizeEvent(QGraphicsSceneResizeEvent * event);
+    virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0);
+    virtual void closeEvent(QCloseEvent * event);
+
+    void updateBackgroundPixmap(const QSize &size, QWidget* widget);
+
+private:
+    QGraphicsLinearLayout *m_layout;
+    QGraphicsSimpleTextItem *m_title;
+    GridView *m_gridView;
+    ScaleThreePainter *m_backgroundPainter;
+    QPixmap *m_backgroundPixmap;
+    bool m_backgroundDirty;
+    QString m_displayMode;
+    QGraphicsWidget *m_titleWrapper;
+};
+
+}  // namespace
+
+#endif // MOSTVISITEDVIEW_H