phonebookui/pbkcommonui/src/cnteditviewheadingitem.cpp
changeset 59 a642906a277a
parent 47 7cbcb2896f0e
equal deleted inserted replaced
47:7cbcb2896f0e 59:a642906a277a
    24 #include <hbframedrawer.h>
    24 #include <hbframedrawer.h>
    25 #include <hbframeitem.h>
    25 #include <hbframeitem.h>
    26 #include <hbtoucharea.h>
    26 #include <hbtoucharea.h>
    27 #include <hbinstantfeedback.h>
    27 #include <hbinstantfeedback.h>
    28 #include <hbmainwindow.h>
    28 #include <hbmainwindow.h>
       
    29 #include <hbeffect.h>
    29 #include <xqsettingsmanager.h>
    30 #include <xqsettingsmanager.h>
    30 #include <xqsettingskey.h>
    31 #include <xqsettingskey.h>
    31 #include <cntuids.h>
    32 #include <cntuids.h>
    32 
    33 
    33 #include <QGraphicsSceneMouseEvent>
    34 #include <QGraphicsSceneMouseEvent>
    36     HbWidget(parent),
    37     HbWidget(parent),
    37     mIcon(NULL),
    38     mIcon(NULL),
    38     mLabel(NULL),
    39     mLabel(NULL),
    39     mSecondLabel(NULL),
    40     mSecondLabel(NULL),
    40     mFrameItem(NULL),
    41     mFrameItem(NULL),
       
    42     mFocusItem(NULL),
    41     mIconTouchArea(NULL),
    43     mIconTouchArea(NULL),
    42     mIconFocused(false),
    44     mIconFocused(false),
    43     mTextFocused(false)
    45     mTextFocused(false)
    44 {
    46 {
    45 
    47     HbEffect::add("icon", "groupbox_icon_click", "iconclick");
       
    48     setProperty("state", "normal");
    46 }
    49 }
    47 
    50 
    48 CntEditViewHeadingItem::~CntEditViewHeadingItem()
    51 CntEditViewHeadingItem::~CntEditViewHeadingItem()
    49 {
    52 {
    50 
    53 
   111     }
   114     }
   112 
   115 
   113     if (!mFrameItem)
   116     if (!mFrameItem)
   114     {
   117     {
   115         mFrameItem = new HbFrameItem(this);
   118         mFrameItem = new HbFrameItem(this);
   116         mFrameItem->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox");
   119         mFrameItem->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox_normal");
   117         mFrameItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   120         mFrameItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
   118         mFrameItem->setZValue(-2);
   121         mFrameItem->setZValue(-2);
   119         style()->setItemName(mFrameItem, "background");
   122         style()->setItemName(mFrameItem, "background");
   120     }
   123     }
   121 
   124 
       
   125     if (!mFocusItem)
       
   126     {
       
   127        mFocusItem = new HbFrameItem(this);
       
   128        mFocusItem->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox_pressed");
       
   129        mFocusItem->frameDrawer().setFrameType(HbFrameDrawer::NinePieces);
       
   130        mFocusItem->setZValue(-1);
       
   131        mFocusItem->setVisible(false);
       
   132        style()->setItemName(mFocusItem, "highlight");
       
   133     }
       
   134     
   122     if (!mIconTouchArea)
   135     if (!mIconTouchArea)
   123     {
   136     {
   124         mIconTouchArea = new HbTouchArea(this);
   137         mIconTouchArea = new HbTouchArea(this);
   125         style()->setItemName(mIconTouchArea, "iconArea");
   138         style()->setItemName(mIconTouchArea, "iconArea");
   126     }
   139     }
   150 
   163 
   151 
   164 
   152 void CntEditViewHeadingItem::updatePrimitives()
   165 void CntEditViewHeadingItem::updatePrimitives()
   153 {
   166 {
   154     HbWidget::updatePrimitives();
   167     HbWidget::updatePrimitives();
       
   168     if (mTextFocused)
       
   169     {
       
   170        mFocusItem->setVisible(true);
       
   171        setProperty("state", "pressed");
       
   172     }
       
   173     else if (mIconFocused)
       
   174     {
       
   175        HbEffect::start(mIcon, QString("icon"), QString("iconclick"));
       
   176     }
       
   177     else
       
   178     {
       
   179        mFocusItem->setVisible(false);
       
   180        setProperty("state", "normal");
       
   181     }
   155 }
   182 }
   156 
   183 
   157 void CntEditViewHeadingItem::setDetails(const QContact* contact, bool myCard)
   184 void CntEditViewHeadingItem::setDetails(const QContact* contact, bool myCard)
   158 {
   185 {
   159     text.clear();
   186     text.clear();
   169     XQSettingsKey nameOrderKey(XQSettingsKey::TargetCentralRepository,
   196     XQSettingsKey nameOrderKey(XQSettingsKey::TargetCentralRepository,
   170                              KCRCntSettings.iUid,
   197                              KCRCntSettings.iUid,
   171                              KCntNameOrdering);
   198                              KCntNameOrdering);
   172     int setting = settingsMng.readItemValue(nameOrderKey, XQSettingsManager::TypeInt).toInt();
   199     int setting = settingsMng.readItemValue(nameOrderKey, XQSettingsManager::TypeInt).toInt();
   173     QStringList nameList = QStringList();
   200     QStringList nameList = QStringList();
   174     QString last;
   201     QString last_first;
   175     
   202     
   176     switch( setting ) {
   203     switch( setting ) {
   177         case CntOrderLastFirst:
   204         case CntOrderLastFirst:
   178             nameList << name.prefix() << name.lastName() << name.firstName() << name.middleName() << name.suffix();
   205             nameList << name.prefix() << name.lastName() << name.firstName() << name.middleName() << name.suffix();
   179             break;
   206             break;
   180         case CntOrderLastCommaFirst:
   207         case CntOrderLastCommaFirst:
   181             if (!name.lastName().isEmpty())
   208             if (!name.firstName().isEmpty() && !name.lastName().isEmpty())
   182                 last = name.lastName() + ",";
   209                 last_first = name.lastName() + ", " + name.firstName();
   183             nameList << name.prefix() << last << name.firstName() << name.middleName() << name.suffix();
   210             else
       
   211                 last_first = !name.firstName().isEmpty() ? name.firstName() : name.lastName();
       
   212             nameList << name.prefix() << last_first << name.middleName() << name.suffix();
   184             break;
   213             break;
   185         default:    // Default to first name last name
   214         default:    // Default to first name last name
   186             nameList << name.prefix() << name.firstName() << name.middleName() << name.lastName() << name.suffix();
   215             nameList << name.prefix() << name.firstName() << name.middleName() << name.lastName() << name.suffix();
   187             break;
   216             break;
   188     }
   217     }
   229 {
   258 {
   230     HbInstantFeedback::play(HbFeedback::Basic);
   259     HbInstantFeedback::play(HbFeedback::Basic);
   231     if (mIconTouchArea->rect().contains(event->pos()))
   260     if (mIconTouchArea->rect().contains(event->pos()))
   232     {
   261     {
   233         mIconFocused = true;
   262         mIconFocused = true;
       
   263         updatePrimitives();
   234     }
   264     }
   235     else if (rect().contains(event->pos()))
   265     else if (rect().contains(event->pos()))
   236     {
   266     {
   237         mTextFocused = true;
   267         mTextFocused = true;
       
   268         updatePrimitives();
   238     }
   269     }
   239 
   270 
   240     event->accept();
   271     event->accept();
   241 }
   272 }
   242 
   273 
   247         mIconFocused = false;
   278         mIconFocused = false;
   248     }
   279     }
   249     else if ((!rect().contains(event->pos()) || mIconTouchArea->rect().contains(event->pos())) && mTextFocused)
   280     else if ((!rect().contains(event->pos()) || mIconTouchArea->rect().contains(event->pos())) && mTextFocused)
   250     {
   281     {
   251         mTextFocused = false;
   282         mTextFocused = false;
       
   283         updatePrimitives();
   252     }
   284     }
   253     event->accept();
   285     event->accept();
   254 }
   286 }
   255 
   287 
   256 
   288 
   257 void CntEditViewHeadingItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
   289 void CntEditViewHeadingItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
   258 {
   290 {
   259     if (mIconTouchArea->rect().contains(event->pos()) && mIconFocused)
   291     if (mIconTouchArea->rect().contains(event->pos()) && mIconFocused)
   260     {
   292     {
   261         mIconFocused = false;
   293         mIconFocused = false;
       
   294         updatePrimitives();
   262         emit iconClicked();
   295         emit iconClicked();
   263     }
   296     }
   264     else if (rect().contains(event->pos()) && !mIconTouchArea->rect().contains(event->pos()) && mTextFocused)
   297     else if (rect().contains(event->pos()) && !mIconTouchArea->rect().contains(event->pos()) && mTextFocused)
   265     {
   298     {
   266         mTextFocused = false;
   299         mTextFocused = false;
       
   300         updatePrimitives();
   267         emit textClicked();
   301         emit textClicked();
   268     }
   302     }
   269     event->accept();
   303     event->accept();
   270 }
   304 }
   271 
   305