diff -r e48454f237ca -r 49c70dcc3f17 ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp --- a/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp Mon May 03 13:32:54 2010 +0300 +++ b/ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp Fri May 14 16:57:01 2010 +0300 @@ -37,6 +37,7 @@ static const QString DESCRIPTION_POSITION = "Description position"; static const QString DESCRIPTION_FONT = "Description font"; static const QString REFLECTIONS_ENABLED = "Reflections enabled"; +static const QString ITEM_SIZE_POLICY = "Item size policy"; enum DataFormItems { ItemWidgetType = 0, @@ -51,6 +52,7 @@ ItemDescriptionPosition, ItemDescriptionFont, ItemReflectionEnabled, + ItemItemSizePolicy }; HgWidgetOptionsView::HgWidgetOptionsView(QGraphicsItem *parent) : @@ -79,7 +81,7 @@ item = mModel->appendDataFormItem( HbDataFormModelItem::ComboBoxItem, MODEL_IMAGE_TYPE); - item->setContentWidgetData(QString("items"), QStringList("QImage") << "HbIcon" << "QIcon"); + item->setContentWidgetData(QString("items"), QStringList("QImage") << "HbIcon" << "QIcon" << "QPixmap"); item = mModel->appendDataFormItem( HbDataFormModelItem::TextItem, WIDGET_HEIGHT); @@ -117,6 +119,11 @@ item->setContentWidgetData(QString("text"), QString("no")); item->setContentWidgetData(QString("additionalText"), QString("yes")); + item = mModel->appendDataFormItem( + HbDataFormModelItem::ToggleValueItem, ITEM_SIZE_POLICY); + item->setContentWidgetData(QString("text"), QString("User defined")); + item->setContentWidgetData(QString("additionalText"), QString("Automatic")); + connect(mModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), SLOT(updateData(QModelIndex, QModelIndex))); mForm->setModel(mModel); @@ -205,6 +212,9 @@ case 2: type = ImageTypeQIcon; break; + case 3: + type = ImageTypeQPixmap; + break; default: break; } @@ -318,6 +328,12 @@ settings.setValue(SETT_REFLECTIONS_ENABLED, value); emit reflectionsEnabledChanged(value); } + else if (item->data(HbDataFormModelItem::LabelRole).toString() == ITEM_SIZE_POLICY) { + QVariant data = item->contentWidgetData(QString("text")); + HgWidget::ItemSizePolicy value = (data.toString() == "Automatic" ? HgWidget::ItemSizeAutomatic : HgWidget::ItemSizeUserDefined); + settings.setValue(SETT_ITEM_SIZE_POLICY, value); + emit itemSizePolicyChanged(value); + } } void HgWidgetOptionsView::setCoverflowEnabled(bool value) @@ -333,7 +349,9 @@ item = mForm->itemByIndex(mModel->index(ItemDescriptionFont, 0)); if (item) item->setEnabled(value); item = mForm->itemByIndex(mModel->index(ItemReflectionEnabled, 0)); - if (item) item->setEnabled(value); + if (item) item->setEnabled(value); + item = mForm->itemByIndex(mModel->index(ItemItemSizePolicy, 0)); + if (item) item->setEnabled(value); } void HgWidgetOptionsView::storeWidgetSize() @@ -403,7 +421,7 @@ value = settings.value(SETT_SCROLLBAR_INTERACTIVITY); if (item && value.isValid()) { item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no"); - item->setContentWidgetData(QString("alternateText"), value.toBool() ? "no" : "yes"); + item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes"); } item = mModel->itemFromIndex(mModel->index(ItemModelImageType, 0)); @@ -412,13 +430,16 @@ int index(0); switch (value.toInt()) { case ImageTypeQImage: - value = 0; + index = 0; break; case ImageTypeHbIcon: - value = 1; + index = 1; break; case ImageTypeQIcon: - value = 2; + index = 2; + break; + case ImageTypeQPixmap: + index = 3; break; default: break; } @@ -443,7 +464,7 @@ value = settings.value(SETT_LOW_RES_IMAGES); if (item && value.isValid()) { item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no"); - item->setContentWidgetData(QString("alternateText"), value.toBool() ? "no" : "yes"); + item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes"); } item = mModel->itemFromIndex(mModel->index(ItemTitlePosition, 0)); @@ -541,9 +562,21 @@ value = settings.value(SETT_REFLECTIONS_ENABLED); if (item && value.isValid()) { item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no"); - item->setContentWidgetData(QString("alternateText"), value.toBool() ? "no" : "yes"); + item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes"); } + item = mModel->itemFromIndex(mModel->index(ItemItemSizePolicy, 0)); + value = settings.value(SETT_ITEM_SIZE_POLICY); + if (item && value.isValid()) { + if (value.toInt() == HgWidget::ItemSizeAutomatic) { + item->setContentWidgetData(QString("text"), "Automatic"); + item->setContentWidgetData(QString("additionalText"), "User defined"); + } + else { + item->setContentWidgetData(QString("text"), "User defined"); + item->setContentWidgetData(QString("additionalText"), "Automatic"); + } + } } void HgWidgetOptionsView::resizeEvent(QGraphicsSceneResizeEvent *event)