diff -r 7516d6d86cf5 -r ed14f46c0e55 src/hbwidgets/popups/hbinputdialog.cpp --- a/src/hbwidgets/popups/hbinputdialog.cpp Mon Oct 04 17:49:30 2010 +0300 +++ b/src/hbwidgets/popups/hbinputdialog.cpp Mon Oct 18 18:23:13 2010 +0300 @@ -30,7 +30,7 @@ #include "hbinputdialogcontent_p.h" #include #include - +#include #include #ifdef HBINPUTDIALOG_DEBUG @@ -254,7 +254,7 @@ \param validator Validator uses undo stack to back out invalid changes. Therefore undo is enabled when validator is set. - \param row This parameter indicates which row of the user field.0 means the + \param row This parameter indicates which row of the user field.0 means the the first user field and 1 means second user field \sa HbAbstractEdit::validator @@ -329,28 +329,6 @@ }; /*! - \deprecated HbInputDialog::primitive(HbStyle::Primitive) - is deprecated. - - Provides access to primitives of HbInputDialog. - \param primitive is the type of the requested primitive. The available - primitives are P_InputDialog_text, and P_InputDialog_additionaltext. - -*/ -QGraphicsItem* HbInputDialog::primitive(HbStyle::Primitive primitive) const -{ - Q_D(const HbInputDialog); - switch (primitive) { - case HbStyle::P_InputDialog_text: - return d->mContentWidget->mLabel1; - case HbStyle::P_InputDialog_additionaltext: - return d->mContentWidget->mLabel2; - default: - return 0; - } -} - -/*! \reimp */ void HbInputDialog::initStyleOption(HbStyleOptionInputDialog *option) const @@ -361,6 +339,23 @@ option->additionalText = d->mPromptAdditionalText; } +void HbInputDialog::initPrimitiveData(HbStylePrimitiveData *primitiveData, const QGraphicsObject *primitive) +{ + HbWidgetBase::initPrimitiveData(primitiveData, primitive); + QString itemName = HbStyle::itemName(primitive); + if (itemName == QLatin1String("label-1")) { + HbStyleTextPrimitiveData *data = hbstyleprimitivedata_cast(primitiveData); + data->text = promptText(); + data->textWrapping = Hb::TextWordWrap; + } + + if (itemName == QLatin1String("label-2")) { + HbStyleTextPrimitiveData *data = hbstyleprimitivedata_cast(primitiveData); + data->text = promptText(1); + data->textWrapping = Hb::TextWordWrap; + } +} + /*! \reimp */ @@ -368,17 +363,37 @@ { Q_D(HbInputDialog); HbDialog::updatePrimitives(); - HbStyleOptionInputDialog option; - initStyleOption(&option); if (d->mContentWidget->mLabel1) { - style()->updatePrimitive(d->mContentWidget->mLabel1, HbStyle::P_InputDialog_text, &option); - } + HbStyleTextPrimitiveData data; + initPrimitiveData(&data, d->mContentWidget->mLabel1); + style()->updatePrimitive(d->mContentWidget->mLabel1, &data, this); + } + + if (d->mContentWidget->mLabel2) { + HbStyleTextPrimitiveData data; + initPrimitiveData(&data, d->mContentWidget->mLabel2); + style()->updatePrimitive(d->mContentWidget->mLabel2, &data, this); + } +} + - if (d->mContentWidget->mLabel2 && d->mContentWidget->mAdditionalRowVisible) { - style()->updatePrimitive(d->mContentWidget->mLabel2, HbStyle::P_InputDialog_additionaltext, &option); +/*! + Recreaction of all the primitives. + */ +void HbInputDialog::recreatePrimitives() +{ + Q_D(HbInputDialog); + if (d->mContentWidget->mLabel1) { + delete d->mContentWidget->mLabel1; + d->mContentWidget->mLabel1 = 0; + d->mContentWidget->mLabel1 = style()->createPrimitive(HbStyle::PT_IconItem, "label-1",d->mContentWidget); + } + if (d->mContentWidget->mLabel2) { + delete d->mContentWidget->mLabel2; + d->mContentWidget->mLabel2 = 0; + d->mContentWidget->mLabel2 = style()->createPrimitive(HbStyle::PT_IconItem, "label-2",d->mContentWidget); } } - void HbInputDialog::done(int code) { Q_D(HbInputDialog); @@ -674,5 +689,20 @@ dlg->setInputMode(IpInput); dlg->open(receiver,member); } + +QGraphicsItem *HbInputDialog::primitive(const QString &itemName) const +{ + Q_D(const HbInputDialog); + + if(!itemName.compare(QString("label-1"))){ + return d->mContentWidget->mLabel1; + } + if(!itemName.compare(QString("label-2"))){ + return d->mContentWidget->mLabel2; + } + + return HbDialog::primitive(itemName); +} + #include "moc_hbinputdialog.cpp"