emailuis/nmhswidget/inc/nmhswidget.h
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
child 47 f83bd4ae1fe3
child 54 997a02608b3a
--- a/emailuis/nmhswidget/inc/nmhswidget.h	Mon May 03 12:23:15 2010 +0300
+++ b/emailuis/nmhswidget/inc/nmhswidget.h	Fri May 14 15:41:10 2010 +0300
@@ -25,34 +25,53 @@
 class NmHsWidgetTitleRow;
 class NmHsWidgetEmailRow;
 class QGraphicsLinearLayout;
+class QTranslator;
+class HbFrameDrawer;
+class NmHsWidgetDateTimeObserver;
 
 class NmHsWidget : public HbWidget
 {
     Q_OBJECT
     
     Q_PROPERTY(QString accountId READ accountId WRITE setAccountId)
+    Q_PROPERTY(QString accountIconName READ accountIconName WRITE setAccountIconName)
+    Q_PROPERTY(QString widgetState READ widgetStateProperty WRITE setWidgetStateProperty)
   
 public:
     NmHsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
     ~NmHsWidget();
     
 public slots:
+    //from home screen fw
     void onInitialize();
     void onShow();
     void onHide();
     void onUninitialize();
-    
-
+    //engine
     void updateMailData();
+    void onEngineException(const int& exc);
+    //properties
     void setAccountId(const QString &text);
     QString accountId() const;
+    void setAccountIconName(const QString &text);
+    QString accountIconName() const;   
+    void setWidgetStateProperty(QString value);
+    QString widgetStateProperty();
+    //user actions
+    void handleExpandCollapseEvent();
+
+signals: 
+    void finished();
+    void setPreferences(const QStringList &names);
+    void error();
+private:
+    bool setupLocalization();
+    void setupUi();
+    void updateMailRowsVisibility(const int visibleCount);
+    void toggleExpansionState();  
 
 protected:
-    void updateMailRowsList(int mailCount);
-    void paint(QPainter *painter, 
-               const QStyleOptionGraphicsItem *option, 
-               QWidget *widget);
-    void mousePressEvent(QGraphicsSceneMouseEvent *event);
+    void updateMailRowsList(const int mailCount);
     
 private:
     NmHsWidgetEmailEngine* mEngine;
@@ -60,6 +79,12 @@
     NmHsWidgetTitleRow* mTitleRow;
     QList<NmHsWidgetEmailRow*> mMailRows;
     NmId mAccountId;
+    QString mAccountIconName;
+    QTranslator *mTranslator;
+    HbFrameDrawer* mBackgroundFrameDrawer;
+    bool mIsExpanded;
+    bool mStaticWidget;
+    NmHsWidgetDateTimeObserver* mDateObserver;
     
 public:    
     friend class TestNmHsWidget;