emailuis/nmhswidget/inc/nmhswidget.h
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
child 47 f83bd4ae1fe3
child 54 997a02608b3a
equal deleted inserted replaced
20:ecc8def7944a 23:2dc6caa42ec3
    23 
    23 
    24 class NmHsWidgetEmailEngine;
    24 class NmHsWidgetEmailEngine;
    25 class NmHsWidgetTitleRow;
    25 class NmHsWidgetTitleRow;
    26 class NmHsWidgetEmailRow;
    26 class NmHsWidgetEmailRow;
    27 class QGraphicsLinearLayout;
    27 class QGraphicsLinearLayout;
       
    28 class QTranslator;
       
    29 class HbFrameDrawer;
       
    30 class NmHsWidgetDateTimeObserver;
    28 
    31 
    29 class NmHsWidget : public HbWidget
    32 class NmHsWidget : public HbWidget
    30 {
    33 {
    31     Q_OBJECT
    34     Q_OBJECT
    32     
    35     
    33     Q_PROPERTY(QString accountId READ accountId WRITE setAccountId)
    36     Q_PROPERTY(QString accountId READ accountId WRITE setAccountId)
       
    37     Q_PROPERTY(QString accountIconName READ accountIconName WRITE setAccountIconName)
       
    38     Q_PROPERTY(QString widgetState READ widgetStateProperty WRITE setWidgetStateProperty)
    34   
    39   
    35 public:
    40 public:
    36     NmHsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
    41     NmHsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
    37     ~NmHsWidget();
    42     ~NmHsWidget();
    38     
    43     
    39 public slots:
    44 public slots:
       
    45     //from home screen fw
    40     void onInitialize();
    46     void onInitialize();
    41     void onShow();
    47     void onShow();
    42     void onHide();
    48     void onHide();
    43     void onUninitialize();
    49     void onUninitialize();
    44     
    50     //engine
    45 
       
    46     void updateMailData();
    51     void updateMailData();
       
    52     void onEngineException(const int& exc);
       
    53     //properties
    47     void setAccountId(const QString &text);
    54     void setAccountId(const QString &text);
    48     QString accountId() const;
    55     QString accountId() const;
       
    56     void setAccountIconName(const QString &text);
       
    57     QString accountIconName() const;   
       
    58     void setWidgetStateProperty(QString value);
       
    59     QString widgetStateProperty();
       
    60     //user actions
       
    61     void handleExpandCollapseEvent();
       
    62 
       
    63 signals: 
       
    64     void finished();
       
    65     void setPreferences(const QStringList &names);
       
    66     void error();
       
    67 private:
       
    68     bool setupLocalization();
       
    69     void setupUi();
       
    70     void updateMailRowsVisibility(const int visibleCount);
       
    71     void toggleExpansionState();  
    49 
    72 
    50 protected:
    73 protected:
    51     void updateMailRowsList(int mailCount);
    74     void updateMailRowsList(const int mailCount);
    52     void paint(QPainter *painter, 
       
    53                const QStyleOptionGraphicsItem *option, 
       
    54                QWidget *widget);
       
    55     void mousePressEvent(QGraphicsSceneMouseEvent *event);
       
    56     
    75     
    57 private:
    76 private:
    58     NmHsWidgetEmailEngine* mEngine;
    77     NmHsWidgetEmailEngine* mEngine;
    59     QGraphicsLinearLayout *mRowLayout;
    78     QGraphicsLinearLayout *mRowLayout;
    60     NmHsWidgetTitleRow* mTitleRow;
    79     NmHsWidgetTitleRow* mTitleRow;
    61     QList<NmHsWidgetEmailRow*> mMailRows;
    80     QList<NmHsWidgetEmailRow*> mMailRows;
    62     NmId mAccountId;
    81     NmId mAccountId;
       
    82     QString mAccountIconName;
       
    83     QTranslator *mTranslator;
       
    84     HbFrameDrawer* mBackgroundFrameDrawer;
       
    85     bool mIsExpanded;
       
    86     bool mStaticWidget;
       
    87     NmHsWidgetDateTimeObserver* mDateObserver;
    63     
    88     
    64 public:    
    89 public:    
    65     friend class TestNmHsWidget;     
    90     friend class TestNmHsWidget;     
    66 };
    91 };
    67 
    92