src/hbwidgets/itemviews/hblistviewitem.cpp
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
equal deleted inserted replaced
0:16d8024aca5e 1:f7ac710697a9
   165 
   165 
   166 HbListViewItemPrivate::HbListViewItemPrivate(HbListViewItem *prototype) :
   166 HbListViewItemPrivate::HbListViewItemPrivate(HbListViewItem *prototype) :
   167     HbAbstractViewItemPrivate(prototype, new HbListViewItemShared)
   167     HbAbstractViewItemPrivate(prototype, new HbListViewItemShared)
   168 {
   168 {
   169 }
   169 }
       
   170 
       
   171 HbListViewItemPrivate::HbListViewItemPrivate(HbListViewItem *prototype, HbListViewItemShared *shared) :
       
   172     HbAbstractViewItemPrivate(prototype, shared)
       
   173 {
       
   174 }
   170  
   175  
   171 HbListViewItemPrivate::HbListViewItemPrivate(const HbListViewItemPrivate &source) :
   176 HbListViewItemPrivate::HbListViewItemPrivate(const HbListViewItemPrivate &source) :
   172     HbAbstractViewItemPrivate(source)
   177     HbAbstractViewItemPrivate(source)
   173 {
   178 {
   174 }
   179 }
   236                                            const int index)
   241                                            const int index)
   237 {
   242 {
   238     Q_Q( HbListViewItem );
   243     Q_Q( HbListViewItem );
   239 
   244 
   240     // create text item  and set it to layout
   245     // create text item  and set it to layout
   241     if (!value.isEmpty()) {
   246     if (!value.isNull()) {
   242         QGraphicsItem *textItem = mDisplayRoleTextItems.value(index);
   247         QGraphicsItem *textItem = mDisplayRoleTextItems.value(index);
   243 
   248 
   244         HbStyle::Primitive primitive = displayPrimitive();
   249         HbStyle::Primitive primitive = displayPrimitive();
   245         if (!textItem) {
   250         if (!textItem) {
   246             mItemsChanged = true;
   251             mItemsChanged = true;
   251             } else {
   256             } else {
   252                 mDisplayRoleTextItems.append(textItem);
   257                 mDisplayRoleTextItems.append(textItem);
   253             }
   258             }
   254         }
   259         }
   255     } else {
   260     } else {
   256         mItemsChanged = true;
       
   257         if (index < mDisplayRoleTextItems.count()) {
   261         if (index < mDisplayRoleTextItems.count()) {
   258             delete mDisplayRoleTextItems.at(index);
   262             QGraphicsItem *item = mDisplayRoleTextItems.at(index);
   259             mDisplayRoleTextItems.replace(index, 0);
   263             if (item) {
       
   264                 mItemsChanged = true;
       
   265                 delete item;
       
   266                 mDisplayRoleTextItems.replace(index, 0);
       
   267             }
   260         } else {
   268         } else {
   261             mDisplayRoleTextItems.insert(index, 0);
   269             mDisplayRoleTextItems.insert(index, 0);
   262         }
   270         }
   263     }
   271     }
   264 }
   272 }
   510     HB_SDD(HbListViewItem);
   518     HB_SDD(HbListViewItem);
   511     if (style != sd->mStretchingStyle) {
   519     if (style != sd->mStretchingStyle) {
   512         sd->mStretchingStyle = style;
   520         sd->mStretchingStyle = style;
   513         if (d->isLandscape()) {
   521         if (d->isLandscape()) {
   514             // secondary text multiline change!
   522             // secondary text multiline change!
   515             d->updateCloneItems();
   523             d->updateCloneItems(false);
   516             d->repolishCloneItems();
   524             d->repolishCloneItems();
   517         }
   525         }
   518     }
   526     }
   519 }
   527 }
   520 
   528 
   547         bool thumbnailChange = (size == Thumbnail) | (sd->mGraphicsSize == Thumbnail);
   555         bool thumbnailChange = (size == Thumbnail) | (sd->mGraphicsSize == Thumbnail);
   548         sd->mGraphicsSize = size;
   556         sd->mGraphicsSize = size;
   549         if (   thumbnailChange
   557         if (   thumbnailChange
   550             && !d->isStretching()) {
   558             && !d->isStretching()) {
   551             // secondary text multiline change!
   559             // secondary text multiline change!
   552             d->updateCloneItems();
   560             d->updateCloneItems(false);
   553         }
   561         }
   554         d->repolishCloneItems();
   562         d->repolishCloneItems();
   555     }
   563     }
   556 }
   564 }
   557 
   565 
   605         update = true;
   613         update = true;
   606     }
   614     }
   607 
   615 
   608     if (    update
   616     if (    update
   609         &&  d->isMultilineSupported()) {
   617         &&  d->isMultilineSupported()) {
   610         d->updateCloneItems();
   618         d->updateCloneItems(false);
   611     }
   619     }
   612 }
   620 }
   613 
   621 
   614 /*!
   622 /*!
   615     \reimp
   623     \reimp
   617 void HbListViewItem::polish(HbStyleParameters& params)
   625 void HbListViewItem::polish(HbStyleParameters& params)
   618 {
   626 {
   619     HB_SDD(HbListViewItem);
   627     HB_SDD(HbListViewItem);
   620 
   628 
   621     setProperty("icon-1", (bool)d->mDecorationRoleItems.value(0));
   629     setProperty("icon-1", (bool)d->mDecorationRoleItems.value(0));
       
   630     setProperty("icon-2", (bool)d->mDecorationRoleItems.value(1));
       
   631 
       
   632     setProperty("text-1", (bool)d->mDisplayRoleTextItems.value(0));
   622     setProperty("text-2", (bool)d->mDisplayRoleTextItems.value(1));
   633     setProperty("text-2", (bool)d->mDisplayRoleTextItems.value(1));
   623     setProperty("text-3", (bool)d->mDisplayRoleTextItems.value(2));
   634     setProperty("text-3", (bool)d->mDisplayRoleTextItems.value(2));
       
   635 
   624     setProperty("maximumSecondaryTextRowCount", sd->mMaximumSecondaryTextRowCount);
   636     setProperty("maximumSecondaryTextRowCount", sd->mMaximumSecondaryTextRowCount);
   625     if (itemView() && itemView()->selectionMode() != HbListView::NoSelection) {
   637     if (itemView() && itemView()->selectionMode() != HbListView::NoSelection) {
   626         setProperty("selectionMode", true);
   638         setProperty("selectionMode", true);
   627     } else {
   639     } else {
   628         setProperty("selectionMode", false);
   640         setProperty("selectionMode", false);