src/hbwidgets/itemviews/hblistviewitem.cpp
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
--- a/src/hbwidgets/itemviews/hblistviewitem.cpp	Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbwidgets/itemviews/hblistviewitem.cpp	Mon May 03 12:48:33 2010 +0300
@@ -167,6 +167,11 @@
     HbAbstractViewItemPrivate(prototype, new HbListViewItemShared)
 {
 }
+
+HbListViewItemPrivate::HbListViewItemPrivate(HbListViewItem *prototype, HbListViewItemShared *shared) :
+    HbAbstractViewItemPrivate(prototype, shared)
+{
+}
  
 HbListViewItemPrivate::HbListViewItemPrivate(const HbListViewItemPrivate &source) :
     HbAbstractViewItemPrivate(source)
@@ -238,7 +243,7 @@
     Q_Q( HbListViewItem );
 
     // create text item  and set it to layout
-    if (!value.isEmpty()) {
+    if (!value.isNull()) {
         QGraphicsItem *textItem = mDisplayRoleTextItems.value(index);
 
         HbStyle::Primitive primitive = displayPrimitive();
@@ -253,10 +258,13 @@
             }
         }
     } else {
-        mItemsChanged = true;
         if (index < mDisplayRoleTextItems.count()) {
-            delete mDisplayRoleTextItems.at(index);
-            mDisplayRoleTextItems.replace(index, 0);
+            QGraphicsItem *item = mDisplayRoleTextItems.at(index);
+            if (item) {
+                mItemsChanged = true;
+                delete item;
+                mDisplayRoleTextItems.replace(index, 0);
+            }
         } else {
             mDisplayRoleTextItems.insert(index, 0);
         }
@@ -512,7 +520,7 @@
         sd->mStretchingStyle = style;
         if (d->isLandscape()) {
             // secondary text multiline change!
-            d->updateCloneItems();
+            d->updateCloneItems(false);
             d->repolishCloneItems();
         }
     }
@@ -549,7 +557,7 @@
         if (   thumbnailChange
             && !d->isStretching()) {
             // secondary text multiline change!
-            d->updateCloneItems();
+            d->updateCloneItems(false);
         }
         d->repolishCloneItems();
     }
@@ -607,7 +615,7 @@
 
     if (    update
         &&  d->isMultilineSupported()) {
-        d->updateCloneItems();
+        d->updateCloneItems(false);
     }
 }
 
@@ -619,8 +627,12 @@
     HB_SDD(HbListViewItem);
 
     setProperty("icon-1", (bool)d->mDecorationRoleItems.value(0));
+    setProperty("icon-2", (bool)d->mDecorationRoleItems.value(1));
+
+    setProperty("text-1", (bool)d->mDisplayRoleTextItems.value(0));
     setProperty("text-2", (bool)d->mDisplayRoleTextItems.value(1));
     setProperty("text-3", (bool)d->mDisplayRoleTextItems.value(2));
+
     setProperty("maximumSecondaryTextRowCount", sd->mMaximumSecondaryTextRowCount);
     if (itemView() && itemView()->selectionMode() != HbListView::NoSelection) {
         setProperty("selectionMode", true);