phonebookui/pbkcommonui/src/cnthistoryviewitem.cpp
changeset 37 fd64c38c277d
parent 31 2a11b5b00470
child 47 7cbcb2896f0e
equal deleted inserted replaced
31:2a11b5b00470 37:fd64c38c277d
    20 #include <cnthistorymodel.h>
    20 #include <cnthistorymodel.h>
    21 #include <hbframedrawer.h>
    21 #include <hbframedrawer.h>
    22 #include <hbframeitem.h>
    22 #include <hbframeitem.h>
    23 
    23 
    24 #define NEW_EVENT_FRAME "qtg_fr_list_new_item"
    24 #define NEW_EVENT_FRAME "qtg_fr_list_new_item"
       
    25 #define INCOMING_FOCUS_FRAME "qtg_fr_convlist_received_pressed"
       
    26 #define OUTGOING_FOCUS_FRAME "qtg_fr_convlist_sent_pressed"
    25 
    27 
    26 //---------------------------------------------------------------
    28 //---------------------------------------------------------------
    27 // HbListViewItem::HbListViewItem
    29 // HbListViewItem::HbListViewItem
    28 // Constructor
    30 // Constructor
    29 //---------------------------------------------------------------
    31 //---------------------------------------------------------------
    30 CntHistoryViewItem::CntHistoryViewItem(QGraphicsItem* parent)
    32 CntHistoryViewItem::CntHistoryViewItem(QGraphicsItem* parent)
    31 : HbListViewItem(parent),
    33 : HbListViewItem(parent),
    32   mIncoming(false),
    34   mIncoming(false),
    33   mNewMessage(false),
    35   mNewMessage(false),
    34   mNewItem(NULL)
    36   mNewItem(NULL),
       
    37   mFocusItem(NULL)
    35 {
    38 {
    36 }
    39 }
    37 
    40 
    38 //---------------------------------------------------------------
    41 //---------------------------------------------------------------
    39 // HbListViewItem::createItem
    42 // HbListViewItem::createItem
    51 void CntHistoryViewItem::updateChildItems()
    54 void CntHistoryViewItem::updateChildItems()
    52 {
    55 {
    53     int flags = modelIndex().data(CntHistoryModel::FlagsRole).toInt();
    56     int flags = modelIndex().data(CntHistoryModel::FlagsRole).toInt();
    54     mIncoming = flags & CntHistoryModel::Incoming ? true : false;
    57     mIncoming = flags & CntHistoryModel::Incoming ? true : false;
    55     mNewMessage = flags & CntHistoryModel::Unseen ? true : false;
    58     mNewMessage = flags & CntHistoryModel::Unseen ? true : false;
    56     
    59 
    57     if (mNewMessage)
    60     if (mNewMessage)
    58     {
    61     {
    59         if (!mNewItem)
    62         if (!mNewItem)
    60         {
    63         {
    61             mNewItem = new HbFrameItem(NEW_EVENT_FRAME, HbFrameDrawer::ThreePiecesVertical, this);
    64             mNewItem = new HbFrameItem(NEW_EVENT_FRAME, HbFrameDrawer::ThreePiecesVertical, this);
    68         {
    71         {
    69             delete mNewItem;
    72             delete mNewItem;
    70             mNewItem = NULL;
    73             mNewItem = NULL;
    71         }
    74         }
    72     }
    75     }
    73 
    76     
    74     HbListViewItem::updateChildItems();
    77     HbListViewItem::updateChildItems();
    75 }
    78 }
       
    79 
       
    80 //---------------------------------------------------------------
       
    81 // HbAbstractViewItem::pressStateChanged
       
    82 // This function is called whenever item press state changes.
       
    83 //---------------------------------------------------------------
       
    84 void CntHistoryViewItem::pressStateChanged(bool pressed, bool animate)
       
    85 {
       
    86     Q_UNUSED(animate);
       
    87     if (pressed)
       
    88     {
       
    89         if (!mFocusItem)
       
    90         {
       
    91             // focus frame position can't be read from widgetml, we set it manually
       
    92             QRectF frameRect = HbWidget::primitive("frame")->boundingRect();
       
    93             QPointF framePoint = HbWidget::primitive("frame")->pos();
       
    94             
       
    95             // W12:
       
    96             //QRectF frameRect = primitive(HbStyle::P_ItemViewItem_frame)->boundingRect();
       
    97             //QPointF framePoint = primitive(HbStyle::P_ItemViewItem_frame)->pos();
       
    98             
       
    99             frameRect.moveTo(framePoint);
       
   100             
       
   101             if (mIncoming)
       
   102             {
       
   103                 mFocusItem = new HbFrameItem(INCOMING_FOCUS_FRAME, HbFrameDrawer::NinePieces, this);
       
   104             }
       
   105             else
       
   106             {
       
   107                 mFocusItem = new HbFrameItem(OUTGOING_FOCUS_FRAME, HbFrameDrawer::NinePieces, this);
       
   108             }
       
   109             
       
   110             mFocusItem->setGeometry(frameRect);
       
   111             mFocusItem->setZValue(-1.0);
       
   112             style()->setItemName(mFocusItem, "focusframe");
       
   113         }
       
   114     }
       
   115     else
       
   116     {
       
   117         if (mFocusItem)
       
   118         {
       
   119             delete mFocusItem;
       
   120             mFocusItem = NULL;
       
   121         }
       
   122     }
       
   123 }
    76 // EOF
   124 // EOF