phonebookui/pbkcommonui/src/cnthistoryviewitem.cpp
changeset 59 a642906a277a
parent 47 7cbcb2896f0e
child 66 554fe4dbbb59
equal deleted inserted replaced
47:7cbcb2896f0e 59:a642906a277a
    18 #include "cnthistoryviewitem.h"
    18 #include "cnthistoryviewitem.h"
    19 
    19 
    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 #include <QGraphicsWidget>
    23 
    24 
    24 #define NEW_EVENT_FRAME "qtg_fr_list_new_item"
    25 #define NEW_EVENT_FRAME "qtg_fr_list_new_item"
    25 #define INCOMING_FOCUS_FRAME "qtg_fr_convlist_received_pressed"
    26 #define INCOMING_FOCUS_FRAME "qtg_fr_convlist_received_pressed"
    26 #define OUTGOING_FOCUS_FRAME "qtg_fr_convlist_sent_pressed"
    27 #define OUTGOING_FOCUS_FRAME "qtg_fr_convlist_sent_pressed"
    27 
    28 
   115             delete mFocusItem;
   116             delete mFocusItem;
   116             mFocusItem = NULL;
   117             mFocusItem = NULL;
   117         }
   118         }
   118     }
   119     }
   119 }
   120 }
       
   121 
       
   122 bool CntHistoryViewItem::event(QEvent* e)
       
   123 {
       
   124     bool result;
       
   125     if (e->type() == QEvent::GraphicsSceneResize)
       
   126     {
       
   127         // HbAbstractItemView has a performance improvement when drawing backrounds but seems
       
   128         // to screw the layout of history view items. This workaround fixes the issue. There should
       
   129         // be minimal performance drawbacks since GraphicsSceneResize events are quite few.
       
   130         // TODO: Remove this once Orbit changes their implementation. Not known when
       
   131         QGraphicsWidget *frame = static_cast<QGraphicsWidget*>(primitive("frame"));
       
   132         QRectF frameGeometry = frame->geometry();
       
   133         result = HbListViewItem::event(e);
       
   134         frame->setGeometry(frameGeometry);
       
   135     } 
       
   136     else
       
   137     {
       
   138         result = HbListViewItem::event(e);
       
   139     }
       
   140     return result;
       
   141 }
       
   142 
   120 // EOF
   143 // EOF