|
1 #ifndef MOSTVISITEDVIEW_H |
|
2 #define MOSTVISITEDVIEW_H |
|
3 |
|
4 #include <QObject> |
|
5 #include <QGraphicsWidget> |
|
6 |
|
7 #include "GridView.h" |
|
8 #include "Utilities.h" |
|
9 |
|
10 class MostVisitedPage; |
|
11 class QGraphicsLinearLayout; |
|
12 class QGraphicsSimpleTextItem; |
|
13 class QEvent; |
|
14 |
|
15 class QStm_Gesture; |
|
16 |
|
17 namespace GVA { |
|
18 |
|
19 class ScaleThreePainter; |
|
20 |
|
21 class MostVisitedViewItem : public QGraphicsWidget { |
|
22 Q_OBJECT |
|
23 public: |
|
24 MostVisitedViewItem(::MostVisitedPage *mostVisitedPage, QGraphicsItem *parent); |
|
25 |
|
26 void activate(); |
|
27 bool event(QEvent* event); |
|
28 bool eventFilter(QObject* o, QEvent* e); |
|
29 |
|
30 protected: |
|
31 bool handleQStmGesture(QStm_Gesture* gesture); |
|
32 |
|
33 signals: |
|
34 void activated(); |
|
35 |
|
36 private: |
|
37 virtual QSizeF sizeHint ( Qt::SizeHint which, const QSizeF & constraint = QSizeF() ) const { |
|
38 Q_UNUSED(which) |
|
39 Q_UNUSED(constraint) |
|
40 #ifdef Q_WS_MAEMO_5 |
|
41 return QSizeF(238, 126); |
|
42 #else |
|
43 return QSizeF(150, 105); |
|
44 #endif |
|
45 } |
|
46 virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0); |
|
47 private: |
|
48 MostVisitedPage *m_mostVisitedPage; |
|
49 }; |
|
50 |
|
51 // -------------------------------------------- |
|
52 |
|
53 class MostVisitedView : public QGraphicsWidget { |
|
54 Q_OBJECT |
|
55 public: |
|
56 MostVisitedView(const QString &title = QString::null, QGraphicsItem *parent = 0); |
|
57 virtual ~MostVisitedView(); |
|
58 void update(QString mode); |
|
59 signals: |
|
60 void closeComplete(); |
|
61 void activated(); |
|
62 |
|
63 private slots: |
|
64 void onItemActivated(); |
|
65 |
|
66 private: |
|
67 virtual void resizeEvent(QGraphicsSceneResizeEvent * event); |
|
68 virtual void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0); |
|
69 virtual void closeEvent(QCloseEvent * event); |
|
70 |
|
71 void updateBackgroundPixmap(const QSize &size, QWidget* widget); |
|
72 |
|
73 private: |
|
74 QGraphicsLinearLayout *m_layout; |
|
75 QGraphicsSimpleTextItem *m_title; |
|
76 GridView *m_gridView; |
|
77 ScaleThreePainter *m_backgroundPainter; |
|
78 QPixmap *m_backgroundPixmap; |
|
79 bool m_backgroundDirty; |
|
80 QString m_displayMode; |
|
81 QGraphicsWidget *m_titleWrapper; |
|
82 }; |
|
83 |
|
84 } // namespace |
|
85 |
|
86 #endif // MOSTVISITEDVIEW_H |