phoneplugins/hsdialerwidgetplugin/inc/hsdialerwidget.h
changeset 45 6b911d05207e
parent 37 ba76fc04e6c2
equal deleted inserted replaced
37:ba76fc04e6c2 45:6b911d05207e
    16 */
    16 */
    17 
    17 
    18 #ifndef HSDIALERWIDGET_H
    18 #ifndef HSDIALERWIDGET_H
    19 #define HSDIALERWIDGET_H
    19 #define HSDIALERWIDGET_H
    20 
    20 
    21 #include <HbWidget>
    21 #include <hswidget.h>
    22 #ifdef Q_OS_SYMBIAN
       
    23 #include <xqsettingsmanager.h>
       
    24 #else
       
    25 class XQSettingsManager;
       
    26 class XQSettingsKey;
       
    27 #endif
       
    28 
    22 
    29 #ifndef HOMESCREEN_TEST
    23 #ifndef HOMESCREEN_TEST
    30     #define HOMESCREEN_TEST_CLASS(aClassName)
    24     #define HOMESCREEN_TEST_CLASS(aClassName)
    31     #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName)
    25     #define HOMESCREEN_TEST_FRIEND_CLASS(aClassName)
    32 #else
    26 #else
    35 #endif //HOMESCREEN_TEST
    29 #endif //HOMESCREEN_TEST
    36 
    30 
    37 HOMESCREEN_TEST_CLASS(TestDialerWidgetPlugin)
    31 HOMESCREEN_TEST_CLASS(TestDialerWidgetPlugin)
    38 
    32 
    39 class XQCallInfo;
    33 class XQCallInfo;
    40 class HbFrameItem;
    34 class DialerWidgetEngine;
    41 class HsDialerWidget : public HbWidget
    35 class HbFrameItem;    
       
    36 class HbIconItem;
       
    37 class HbTextItem;
       
    38 class HbTouchArea;
       
    39 
       
    40 class HsDialerWidget : public HsWidget
    42 {
    41 {
    43     Q_OBJECT
    42     Q_OBJECT
    44 
    43 
    45 public:
    44 public:
    46     HsDialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0);
    45     HsDialerWidget(QGraphicsItem* parent = 0, Qt::WindowFlags flags = 0);
    47     ~HsDialerWidget();
    46     ~HsDialerWidget();
       
    47 private:
    48     
    48     
    49     void paint ( QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0 );
    49     void createPrimitives();
    50 
       
    51 private:
       
    52     void setItemPositions();
       
    53     
    50     
    54 public slots:
    51 public slots:
    55     void startDialer();
    52     void startDialer();
    56     void updateMissedCallBadge(const XQSettingsKey &key, const QVariant &value);
    53    
    57 
    54     // from HS fw
       
    55     void onInitialize();
    58     void onShow();
    56     void onShow();
    59     void onHide();
    57     void onHide();
       
    58     void onUninitialize();
       
    59     
       
    60     // from engine
       
    61     void onEngineException(const int& exc);
       
    62     
       
    63     void onMissedCallsCountChange(const int& count);
       
    64     
       
    65 signals:
       
    66     void error();
    60 
    67 
    61 protected:
    68 protected:
    62     void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
    69     void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
    63     void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
    70     void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
       
    71     StartResult onStart();
       
    72     StopResult onStop();
       
    73     SuspendResult onSuspend();
       
    74     ResumeResult onResume();
       
    75 
    64     
    76     
    65 
    77 
    66 
    78 
    67 private:
    79 private:
       
    80     
    68     XQCallInfo *mXQCallInfo;
    81     XQCallInfo *mXQCallInfo;
    69     HbFrameItem *m_shortcutBadge;
    82     DialerWidgetEngine *m_engine;
    70     HbFrameItem *m_backgroud;
    83     HbFrameItem     *m_background;
    71     XQSettingsManager * m_setManager;
    84     HbFrameItem     *m_badgeBackground;
    72     int m_missedCalls;
    85     HbTextItem      *m_text;
       
    86     HbTouchArea     *m_touchArea;
    73     HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin)
    87     HOMESCREEN_TEST_FRIEND_CLASS(TestDialerWidgetPlugin)
    74 };
    88 };
    75 
    89 
    76 #endif
    90 #endif