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