ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp
changeset 2 49c70dcc3f17
parent 1 e48454f237ca
child 3 c863538fcbb6
--- 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)