ganeswidgets/tsrc/fute/HgWidgetTest/src/hgwidgetoptionsview.cpp
changeset 2 49c70dcc3f17
parent 1 e48454f237ca
child 3 c863538fcbb6
equal deleted inserted replaced
1:e48454f237ca 2:49c70dcc3f17
    35 static const QString TITLE_POSITION = "Title position";
    35 static const QString TITLE_POSITION = "Title position";
    36 static const QString TITLE_FONT = "Title font";
    36 static const QString TITLE_FONT = "Title font";
    37 static const QString DESCRIPTION_POSITION = "Description position";
    37 static const QString DESCRIPTION_POSITION = "Description position";
    38 static const QString DESCRIPTION_FONT = "Description font";
    38 static const QString DESCRIPTION_FONT = "Description font";
    39 static const QString REFLECTIONS_ENABLED = "Reflections enabled";
    39 static const QString REFLECTIONS_ENABLED = "Reflections enabled";
       
    40 static const QString ITEM_SIZE_POLICY = "Item size policy";
    40 
    41 
    41 enum DataFormItems {
    42 enum DataFormItems {
    42     ItemWidgetType = 0,
    43     ItemWidgetType = 0,
    43     ItemScrollBarVisibility,
    44     ItemScrollBarVisibility,
    44     ItemScrollBarInteractivity,
    45     ItemScrollBarInteractivity,
    49     ItemTitlePosition,
    50     ItemTitlePosition,
    50     ItemTitleFont,
    51     ItemTitleFont,
    51     ItemDescriptionPosition,
    52     ItemDescriptionPosition,
    52     ItemDescriptionFont,
    53     ItemDescriptionFont,
    53     ItemReflectionEnabled,
    54     ItemReflectionEnabled,
       
    55     ItemItemSizePolicy
    54 };
    56 };
    55 
    57 
    56 HgWidgetOptionsView::HgWidgetOptionsView(QGraphicsItem *parent) :
    58 HgWidgetOptionsView::HgWidgetOptionsView(QGraphicsItem *parent) :
    57     HbView(parent),
    59     HbView(parent),
    58     mForm(new HbDataForm(this)),
    60     mForm(new HbDataForm(this)),
    77     item->setContentWidgetData(QString("text"), QString("no"));
    79     item->setContentWidgetData(QString("text"), QString("no"));
    78     item->setContentWidgetData(QString("additionalText"), QString("yes"));
    80     item->setContentWidgetData(QString("additionalText"), QString("yes"));
    79 
    81 
    80     item = mModel->appendDataFormItem(
    82     item = mModel->appendDataFormItem(
    81         HbDataFormModelItem::ComboBoxItem, MODEL_IMAGE_TYPE);
    83         HbDataFormModelItem::ComboBoxItem, MODEL_IMAGE_TYPE);
    82     item->setContentWidgetData(QString("items"), QStringList("QImage") << "HbIcon" << "QIcon");
    84     item->setContentWidgetData(QString("items"), QStringList("QImage") << "HbIcon" << "QIcon" << "QPixmap");
    83 
    85 
    84     item = mModel->appendDataFormItem(
    86     item = mModel->appendDataFormItem(
    85         HbDataFormModelItem::TextItem, WIDGET_HEIGHT);
    87         HbDataFormModelItem::TextItem, WIDGET_HEIGHT);
    86     item->setContentWidgetData(QString("text"), QString("0"));
    88     item->setContentWidgetData(QString("text"), QString("0"));
    87     item->setContentWidgetData(QString("inputMethodHints"), Qt::ImhDigitsOnly);
    89     item->setContentWidgetData(QString("inputMethodHints"), Qt::ImhDigitsOnly);
   114 
   116 
   115     item = mModel->appendDataFormItem(
   117     item = mModel->appendDataFormItem(
   116         HbDataFormModelItem::ToggleValueItem, REFLECTIONS_ENABLED);
   118         HbDataFormModelItem::ToggleValueItem, REFLECTIONS_ENABLED);
   117     item->setContentWidgetData(QString("text"), QString("no"));
   119     item->setContentWidgetData(QString("text"), QString("no"));
   118     item->setContentWidgetData(QString("additionalText"), QString("yes"));
   120     item->setContentWidgetData(QString("additionalText"), QString("yes"));
       
   121 
       
   122     item = mModel->appendDataFormItem(
       
   123         HbDataFormModelItem::ToggleValueItem, ITEM_SIZE_POLICY);
       
   124     item->setContentWidgetData(QString("text"), QString("User defined"));
       
   125     item->setContentWidgetData(QString("additionalText"), QString("Automatic"));
   119 
   126 
   120     connect(mModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), SLOT(updateData(QModelIndex, QModelIndex)));
   127     connect(mModel, SIGNAL(dataChanged(QModelIndex, QModelIndex)), SLOT(updateData(QModelIndex, QModelIndex)));
   121     mForm->setModel(mModel);
   128     mForm->setModel(mModel);
   122 
   129 
   123     setupData();
   130     setupData();
   203                 type = ImageTypeHbIcon;
   210                 type = ImageTypeHbIcon;
   204                 break;
   211                 break;
   205             case 2:
   212             case 2:
   206                 type = ImageTypeQIcon;
   213                 type = ImageTypeQIcon;
   207                 break;
   214                 break;
       
   215             case 3:
       
   216                 type = ImageTypeQPixmap;
       
   217                 break;
   208             default: break;
   218             default: break;
   209         }
   219         }
   210 
   220 
   211         settings.setValue(SETT_MODEL_IMAGE_TYPE, type);
   221         settings.setValue(SETT_MODEL_IMAGE_TYPE, type);
   212         emit imageTypeChanged(type);
   222         emit imageTypeChanged(type);
   316         QVariant data = item->contentWidgetData(QString("text"));
   326         QVariant data = item->contentWidgetData(QString("text"));
   317         bool value = data.toString() == "yes";
   327         bool value = data.toString() == "yes";
   318         settings.setValue(SETT_REFLECTIONS_ENABLED, value);
   328         settings.setValue(SETT_REFLECTIONS_ENABLED, value);
   319         emit reflectionsEnabledChanged(value);
   329         emit reflectionsEnabledChanged(value);
   320     }
   330     }
       
   331     else if (item->data(HbDataFormModelItem::LabelRole).toString() == ITEM_SIZE_POLICY) {
       
   332         QVariant data = item->contentWidgetData(QString("text"));
       
   333         HgWidget::ItemSizePolicy value = (data.toString() == "Automatic" ? HgWidget::ItemSizeAutomatic : HgWidget::ItemSizeUserDefined);
       
   334         settings.setValue(SETT_ITEM_SIZE_POLICY, value);
       
   335         emit itemSizePolicyChanged(value);
       
   336     }
   321 }
   337 }
   322 
   338 
   323 void HgWidgetOptionsView::setCoverflowEnabled(bool value)
   339 void HgWidgetOptionsView::setCoverflowEnabled(bool value)
   324 {
   340 {
   325     HbAbstractViewItem *item = mForm->itemByIndex(mModel->index(ItemLowResImages, 0));
   341     HbAbstractViewItem *item = mForm->itemByIndex(mModel->index(ItemLowResImages, 0));
   331     item = mForm->itemByIndex(mModel->index(ItemDescriptionPosition, 0));
   347     item = mForm->itemByIndex(mModel->index(ItemDescriptionPosition, 0));
   332     if (item) item->setEnabled(value);
   348     if (item) item->setEnabled(value);
   333     item = mForm->itemByIndex(mModel->index(ItemDescriptionFont, 0));
   349     item = mForm->itemByIndex(mModel->index(ItemDescriptionFont, 0));
   334     if (item) item->setEnabled(value);
   350     if (item) item->setEnabled(value);
   335     item = mForm->itemByIndex(mModel->index(ItemReflectionEnabled, 0));
   351     item = mForm->itemByIndex(mModel->index(ItemReflectionEnabled, 0));
   336     if (item) item->setEnabled(value);    
   352     if (item) item->setEnabled(value);
       
   353     item = mForm->itemByIndex(mModel->index(ItemItemSizePolicy, 0));
       
   354     if (item) item->setEnabled(value);
   337 }
   355 }
   338 
   356 
   339 void HgWidgetOptionsView::storeWidgetSize()
   357 void HgWidgetOptionsView::storeWidgetSize()
   340 {
   358 {
   341     QSettings settings(SETT_ORGANIZATION, SETT_APPLICATION);
   359     QSettings settings(SETT_ORGANIZATION, SETT_APPLICATION);
   401 
   419 
   402     item = mModel->itemFromIndex(mModel->index(ItemScrollBarInteractivity, 0));
   420     item = mModel->itemFromIndex(mModel->index(ItemScrollBarInteractivity, 0));
   403     value = settings.value(SETT_SCROLLBAR_INTERACTIVITY);
   421     value = settings.value(SETT_SCROLLBAR_INTERACTIVITY);
   404     if (item && value.isValid()) {
   422     if (item && value.isValid()) {
   405         item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
   423         item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
   406         item->setContentWidgetData(QString("alternateText"), value.toBool() ? "no" : "yes");
   424         item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes");
   407     }
   425     }
   408 
   426 
   409     item = mModel->itemFromIndex(mModel->index(ItemModelImageType, 0));
   427     item = mModel->itemFromIndex(mModel->index(ItemModelImageType, 0));
   410     value = settings.value(SETT_MODEL_IMAGE_TYPE);
   428     value = settings.value(SETT_MODEL_IMAGE_TYPE);
   411     if (item && value.isValid()) {
   429     if (item && value.isValid()) {
   412         int index(0);
   430         int index(0);
   413         switch (value.toInt()) {
   431         switch (value.toInt()) {
   414             case ImageTypeQImage:
   432             case ImageTypeQImage:
   415                 value = 0;
   433                 index = 0;
   416                 break;
   434                 break;
   417             case ImageTypeHbIcon:
   435             case ImageTypeHbIcon:
   418                 value = 1;
   436                 index = 1;
   419                 break;
   437                 break;
   420             case ImageTypeQIcon:
   438             case ImageTypeQIcon:
   421                 value = 2;
   439                 index = 2;
       
   440                 break;
       
   441             case ImageTypeQPixmap:
       
   442                 index = 3;
   422                 break;
   443                 break;
   423             default: break;
   444             default: break;
   424         }
   445         }
   425         item->setContentWidgetData(QString("currentIndex"), index);
   446         item->setContentWidgetData(QString("currentIndex"), index);
   426     }
   447     }
   441 
   462 
   442     item = mModel->itemFromIndex(mModel->index(ItemLowResImages, 0));
   463     item = mModel->itemFromIndex(mModel->index(ItemLowResImages, 0));
   443     value = settings.value(SETT_LOW_RES_IMAGES);
   464     value = settings.value(SETT_LOW_RES_IMAGES);
   444     if (item && value.isValid()) {
   465     if (item && value.isValid()) {
   445         item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
   466         item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
   446         item->setContentWidgetData(QString("alternateText"), value.toBool() ? "no" : "yes");
   467         item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes");
   447     }
   468     }
   448 
   469 
   449     item = mModel->itemFromIndex(mModel->index(ItemTitlePosition, 0));
   470     item = mModel->itemFromIndex(mModel->index(ItemTitlePosition, 0));
   450     value = settings.value(SETT_TITLE_POSITION);
   471     value = settings.value(SETT_TITLE_POSITION);
   451     if (item && value.isValid()) {
   472     if (item && value.isValid()) {
   539 
   560 
   540     item = mModel->itemFromIndex(mModel->index(ItemReflectionEnabled, 0));
   561     item = mModel->itemFromIndex(mModel->index(ItemReflectionEnabled, 0));
   541     value = settings.value(SETT_REFLECTIONS_ENABLED);
   562     value = settings.value(SETT_REFLECTIONS_ENABLED);
   542     if (item && value.isValid()) {
   563     if (item && value.isValid()) {
   543         item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
   564         item->setContentWidgetData(QString("text"), value.toBool() ? "yes" : "no");
   544         item->setContentWidgetData(QString("alternateText"), value.toBool() ? "no" : "yes");
   565         item->setContentWidgetData(QString("additionalText"), value.toBool() ? "no" : "yes");
   545     }
   566     }
   546 
   567 
       
   568     item = mModel->itemFromIndex(mModel->index(ItemItemSizePolicy, 0));
       
   569     value = settings.value(SETT_ITEM_SIZE_POLICY);
       
   570     if (item && value.isValid()) {
       
   571         if (value.toInt() == HgWidget::ItemSizeAutomatic) {
       
   572             item->setContentWidgetData(QString("text"), "Automatic");
       
   573             item->setContentWidgetData(QString("additionalText"), "User defined");
       
   574         }
       
   575         else {
       
   576             item->setContentWidgetData(QString("text"), "User defined");
       
   577             item->setContentWidgetData(QString("additionalText"), "Automatic");
       
   578         }
       
   579     }
   547 }
   580 }
   548 
   581 
   549 void HgWidgetOptionsView::resizeEvent(QGraphicsSceneResizeEvent *event)
   582 void HgWidgetOptionsView::resizeEvent(QGraphicsSceneResizeEvent *event)
   550 {
   583 {
   551     FUNC_LOG;
   584     FUNC_LOG;