ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp
changeset 11 42505cd701c6
parent 6 1cdcc61142d2
child 12 6c0ec0ccd2d4
--- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp	Thu Jul 08 15:37:35 2010 +0300
+++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp	Fri Jul 23 10:05:37 2010 +0300
@@ -37,6 +37,7 @@
 static const QString REFLECTIONS_ENABLED = "Reflections enabled";
 static const QString EFFECT3D_ENABLED = "Grid 3d effects enabled";
 static const QString ITEM_SIZE_POLICY = "Item size policy";
+static const QString TITLE_DESCR_VISIBILITY = "Title/description visibility";
 
 enum DataFormItems {
     ItemWidgetType = 0,
@@ -50,7 +51,8 @@
     ItemDescriptionFont,
     ItemReflectionEnabled,
     ItemEffect3dEnabled,
-    ItemItemSizePolicy
+    ItemItemSizePolicy,
+    ItemTitleDescrVisibility
 };
 
 HgWidgetOptionsView::HgWidgetOptionsView(QGraphicsItem *parent) :
@@ -118,7 +120,11 @@
         HbDataFormModelItem::ToggleValueItem, ITEM_SIZE_POLICY);
     item->setContentWidgetData(QString("text"), QString("User defined"));
     item->setContentWidgetData(QString("additionalText"), QString("Automatic"));
-
+    
+    item = mModel->appendDataFormItem(
+        HbDataFormModelItem::ComboBoxItem, TITLE_DESCR_VISIBILITY);
+    item->setContentWidgetData(QString("items"), QStringList("Both visible") << "Title visible" << "Description visible" << "Both invisible");
+	
     connect(mModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), SLOT(updateData(QModelIndex, QModelIndex)));
     mForm->setModel(mModel);
 
@@ -143,6 +149,8 @@
     QSettings settings(SETT_ORGANIZATION, SETT_APPLICATION);
 
     HbDataFormModelItem *item = mModel->itemFromIndex(startIn);
+    if( !item ) return;
+    
     if (item->data(HbDataFormModelItem::LabelRole).toString() == WIDGET_TYPE) {
         int index = item->contentWidgetData(QString("currentIndex")).toInt();
         HgTestWidgetType type = HgWidgetNone;
@@ -297,6 +305,28 @@
         settings.setValue(SETT_ITEM_SIZE_POLICY, value);
         emit itemSizePolicyChanged(value);
     }
+    else if (item->data(HbDataFormModelItem::LabelRole).toString() == TITLE_DESCR_VISIBILITY) {
+                
+        int index = item->contentWidgetData(QString("currentIndex")).toInt();
+        HgMediawall::TitleAndDescrVisibility visibility = HgMediawall::TitleVisibilityBothVisible;
+        switch (index) {
+            case 0:
+                visibility = HgMediawall::TitleVisibilityBothVisible;
+                break;
+            case 1:
+                visibility = HgMediawall::TitleVisibilityTitleVisible;
+                break;
+            case 2:
+                visibility = HgMediawall::TitleVisibilityDescriptionVisible;
+                break;
+            case 3:
+                visibility = HgMediawall::TitleVisibilityBothInvisible;
+                break;
+            default: break;
+        }
+        settings.setValue(SETT_TITLE_DESCR_VISIBILITY, visibility);
+        emit titleAndDescrVisibilityChanged(visibility);
+    }
 }
 
 void HgWidgetOptionsView::setCoverflowEnabled(bool value)
@@ -502,6 +532,32 @@
             item->setContentWidgetData(QString("additionalText"), "Automatic");
         }
     }
+    
+    item = mModel->itemFromIndex(mModel->index(ItemTitleDescrVisibility, 0));
+    value = settings.value(SETT_TITLE_DESCR_VISIBILITY);
+    if (item && value.isValid()) {
+        int index(0);
+        switch (value.toInt()) {
+            case HgMediawall::TitleVisibilityBothVisible:
+                qDebug() << "JARI_DEBUG, HgWidgetOptionsView::setupData(): SETT_TITLE_DESCR_VISIBILITY: TitleVisibilityBothVisible";
+                index = 0;
+                break;
+            case HgMediawall::TitleVisibilityTitleVisible:
+                qDebug() << "JARI_DEBUG, HgWidgetOptionsView::setupData(): SETT_TITLE_DESCR_VISIBILITY: TitleVisibilityTitleVisible";
+                index = 1;
+                break;
+            case HgMediawall::TitleVisibilityDescriptionVisible:
+                qDebug() << "JARI_DEBUG, HgWidgetOptionsView::setupData(): SETT_TITLE_DESCR_VISIBILITY: TitleVisibilityDescriptionVisible";
+                index = 2;
+                break;
+            case HgMediawall::TitleVisibilityBothInvisible:
+                qDebug() << "JARI_DEBUG, HgWidgetOptionsView::setupData(): SETT_TITLE_DESCR_VISIBILITY: TitleVisibilityBothInvisible";
+                index = 3;
+                break;
+            default: break;
+        }
+        item->setContentWidgetData(QString("currentIndex"), index);
+    }
 }
 
 void HgWidgetOptionsView::resizeEvent(QGraphicsSceneResizeEvent *event)
@@ -510,7 +566,7 @@
 
     if (mUpdateWidgetSize) {
         mContentReady = false;
-        HbDataFormModelItem *item = item = mModel->itemFromIndex(mModel->index(ItemWidgetHeight, 0));
+        HbDataFormModelItem *item = mModel->itemFromIndex(mModel->index(ItemWidgetHeight, 0));
         if (item) {
             item->setContentWidgetData(QString("text"), event->newSize().height());
         }