ganeswidgets/src/hgcontainer.cpp
changeset 20 a60f8b6b1d32
parent 17 a10844a9914d
--- a/ganeswidgets/src/hgcontainer.cpp	Fri Sep 17 15:55:58 2010 +0300
+++ b/ganeswidgets/src/hgcontainer.cpp	Wed Oct 06 14:53:41 2010 +0300
@@ -65,7 +65,8 @@
     mOrientation(Qt::Vertical),
     mDelayedScrollToIndex(),
     mIgnoreGestureAction(false),
-    mHandleLongPress(false)
+    mHandleLongPress(false),
+    mReflectionsEnabled(false)
 {
     FUNC_LOG;
 
@@ -94,6 +95,12 @@
     mItems.clear();
     for (int i=0; i<itemCount; i++) {
         HgWidgetItem* item = new HgWidgetItem(mQuadRenderer);
+
+        if ( mReflectionsEnabled && (mRenderer->coverflowModeEnabled() || 
+                (scrollDirection() == Qt::Horizontal))) {
+            // Reflection image is created only for bottom row in grid mode.
+            item->enableReflection((i+1)%currentRowCount() == 0);
+        }
         mItems.append(item);
     }
 }
@@ -955,8 +962,11 @@
 {
     HgQuadRenderer *renderer = mRenderer->getRenderer();
     if (renderer) {
-        QImage scaled = defaultImage.scaled(mRenderer->getImageSize().toSize());
-        renderer->setDefaultImage(scaled);
+        QImage temp = defaultImage;
+        if(!temp.isNull()) {
+            temp = defaultImage.scaled(mRenderer->getImageSize().toSize());
+        }
+        renderer->setDefaultImage(QPixmap::fromImage(temp));
     }
 }
 
@@ -1060,10 +1070,10 @@
 
     if (!selectedPixmap.isNull() && !unselectedPixmap.isNull()) {
         if (mMarkImageOn) {
-            mMarkImageOn->setPixmap(selectedPixmap);
+            mMarkImageOn->setPixmap(selectedPixmap, true);
         }
         if (mMarkImageOff) {
-            mMarkImageOff->setPixmap(unselectedPixmap);
+            mMarkImageOff->setPixmap(unselectedPixmap, true);
         }
     }    
 }
@@ -1121,8 +1131,15 @@
             handled = false;
             break;
         }
-    
+
     return handled;
 }
 
+// This is added to be able to get feedback (audio and tactile)
+// when tapping items in both mediawall and grid.
+int HgContainer::type() const
+{
+    return Hb::ItemType_GridViewItem;
+}
+
 // EOF