phoneplugins/dialerwidgetplugin/src/dialerwidget.cpp
changeset 52 a49bfe5190e4
parent 50 377c906a8701
child 60 1eef62f5c541
equal deleted inserted replaced
50:377c906a8701 52:a49bfe5190e4
    13 *
    13 *
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 
    17 
       
    18 #include <QGraphicsSceneMouseEvent>
       
    19 
    18 #include <HbStyle>
    20 #include <HbStyle>
    19 #include <HbStyleLoader>
    21 #include <HbStyleLoader>
    20 #include <HbFrameItem>
    22 #include <HbFrameItem>
    21 #include <HbFrameDrawer>
    23 #include <HbFrameDrawer>
    22 #include <HbIconItem>
    24 #include <HbIconItem>
    37 #include <xqrequestinfo.h>
    39 #include <xqrequestinfo.h>
    38 #endif
    40 #endif
    39 
    41 
    40 namespace
    42 namespace
    41 {
    43 {
    42     const char KDialerWidgetIcon[] = "qtg_graf_hs_dialer_normal";
    44     const char KDialerWidgetIconNormal[] = "qtg_graf_hs_dialer_normal";
       
    45     const char KDialerWidgetIconPressed[] = "qtg_graf_hs_dialer_pressed";
    43     const char KMissedCallShortcutBadge[] = "qtg_fr_shortcut_badge_bg";
    46     const char KMissedCallShortcutBadge[] = "qtg_fr_shortcut_badge_bg";
    44     const char KDialerWidgetWidgetml[] = ":/data/resource/dialerwidget.widgetml";
    47     const char KDialerWidgetWidgetml[] = ":/data/resource/dialerwidget.widgetml";
    45     const char KDialerWidgetCss[] = ":/data/resource/dialerwidget.css";
    48     const char KDialerWidgetCss[] = ":/data/resource/dialerwidget.css";
    46 }
    49 }
    47 
    50 
    56 /*!
    59 /*!
    57     Constructs dialer widget with given \a parent and given window \a flags.
    60     Constructs dialer widget with given \a parent and given window \a flags.
    58 */
    61 */
    59 DialerWidget::DialerWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
    62 DialerWidget::DialerWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
    60   : HsWidget(parent, flags),
    63   : HsWidget(parent, flags),
    61     m_background(0), m_badgeBackground(0), m_text(0), m_touchArea(0)
    64     m_background(0), m_badgeBackground(0), m_text(0), m_touchArea(0),
       
    65     m_engine(0)
    62 {   
    66 {   
    63     PHONE_TRACE 
    67     PHONE_TRACE 
    64 }
    68 }
    65 
    69 
    66 /*!
    70 /*!
   197 
   201 
   198 void DialerWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
   202 void DialerWidget::mousePressEvent(QGraphicsSceneMouseEvent *event)
   199 {
   203 {
   200     PHONE_TRACE;
   204     PHONE_TRACE;
   201     Q_UNUSED(event)
   205     Q_UNUSED(event)
   202     HbInstantFeedback::play(HbFeedback::Basic);
   206     setBackgroundToPressed();
   203 }
   207 }
   204 
   208 
   205 /*!
   209 void DialerWidget::handleMouseMoveEvent(QGraphicsSceneMouseEvent *event)
   206     \fn void DialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
   210 {
   207 
   211     if (contains(event->pos())) {
   208     Dialer widget start is triggered from release \a event.
   212         setBackgroundToPressed();
   209     \sa startDialer()
   213     } else {
   210 */
   214         setBackgroundToNormal();
       
   215     }
       
   216 }
       
   217 
   211 void DialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
   218 void DialerWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent* event)
   212 {
   219 {
   213     PHONE_TRACE;
   220     PHONE_TRACE;
   214     Q_UNUSED(event);
   221     Q_UNUSED(event);
   215     startDialer();
   222     HbInstantFeedback::play(HbFeedback::Basic);
       
   223     setBackgroundToNormal();
       
   224     startDialer();    
       
   225 }
       
   226 
       
   227 bool DialerWidget::sceneEvent(QEvent *event)
       
   228 {
       
   229     if (event->type() == QEvent::UngrabMouse) {
       
   230         setBackgroundToNormal();
       
   231     }
       
   232 
       
   233     return HsWidget::sceneEvent(event);;
   216 }
   234 }
   217 
   235 
   218 HsWidget::StartResult DialerWidget::onStart()
   236 HsWidget::StartResult DialerWidget::onStart()
   219 {
   237 {
   220     return StartResultRunning;
   238     return StartResultRunning;
   236 {   
   254 {   
   237     setPreferredSize(100,100);
   255     setPreferredSize(100,100);
   238     // Background
   256     // Background
   239     if (!m_background) {
   257     if (!m_background) {
   240         HbFrameDrawer *drawer = new HbFrameDrawer(
   258         HbFrameDrawer *drawer = new HbFrameDrawer(
   241             KDialerWidgetIcon, HbFrameDrawer::OnePiece);
   259             KDialerWidgetIconNormal, HbFrameDrawer::OnePiece);
   242         m_background = new HbFrameItem(drawer, this);
   260         m_background = new HbFrameItem(drawer, this);
   243         style()->setItemName(m_background, /*QLatin1String(*/"background"/*)*/);
   261         style()->setItemName(m_background, QLatin1String("background"));
   244         m_background->moveBy(0,10);
   262         m_background->moveBy(0,10);
   245         m_background->resize(81,81);
   263         m_background->resize(81,81);
   246     }
   264     }
   247     
   265     
   248     // Badge background
   266     // Badge background
   279         m_touchArea->moveBy(0,10);
   297         m_touchArea->moveBy(0,10);
   280         m_touchArea->resize(81,81);
   298         m_touchArea->resize(81,81);
   281     }
   299     }
   282 }
   300 }
   283 
   301 
       
   302 void DialerWidget::setBackgroundToNormal()
       
   303 {
       
   304     if (m_background) {
       
   305         m_background->frameDrawer().
       
   306             setFrameGraphicsName(KDialerWidgetIconNormal);
       
   307     }
       
   308 }
       
   309 
       
   310 void DialerWidget::setBackgroundToPressed()
       
   311 {
       
   312     if (m_background) {
       
   313         m_background->frameDrawer().
       
   314             setFrameGraphicsName(KDialerWidgetIconPressed);
       
   315     }
       
   316 }
       
   317