ginebra2/MostVisitedView.h
changeset 16 3c88a81ff781
equal deleted inserted replaced
14:6aeb7a756187 16:3c88a81ff781
       
     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