diff -r 5ebec3429918 -r 42505cd701c6 ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp --- 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()); }