diff -r e6ad4ef83b23 -r b7da29130b0e src/hbwidgets/widgets/hbgroupbox.cpp --- a/src/hbwidgets/widgets/hbgroupbox.cpp Thu Sep 02 20:44:51 2010 +0300 +++ b/src/hbwidgets/widgets/hbgroupbox.cpp Fri Sep 17 08:32:10 2010 +0300 @@ -100,8 +100,10 @@ // set dynamic property based on type q->setProperty("groupBoxType",(int)type); - if ( mGroupBoxType == type ) + if ( mGroupBoxType == type ) { + q->updatePrimitives(); return; + } mGroupBoxType = type; @@ -303,6 +305,7 @@ if( d->mHeadingWidget ){ delete d->mHeadingWidget; d->mHeadingWidget = 0; + HbStyle::setItemName( d->mHeadingWidget, QString()); if( d->mContentWidget ) { d->setGroupBoxType( GroupBoxRichLabel ); }else{ @@ -310,7 +313,7 @@ } } } - repolish(); + //repolish(); } /*! @@ -524,11 +527,13 @@ void HbGroupBox::setContentWidget( HbWidget *widget ) { Q_D( HbGroupBox ); - - if(!d->mContentWidget) - d->createContentWidget(); + bool doPolish = false; if(widget){ + // create the mContentWidget if its not there. + if(!d->mContentWidget) + d->createContentWidget(); + doPolish = widget != d->mContentWidget->mContent; d->mContentWidget->setContentWidget(widget); if(d->mHeadingWidget){ d->setGroupBoxType(GroupBoxCollapsingContainer); @@ -539,15 +544,21 @@ d->mContentWidget->updatePrimitives(); }else{ - delete d->mContentWidget; - d->mContentWidget = 0; - if(d->mHeadingWidget){ - d->setGroupBoxType(GroupBoxSimpleLabel); - }else{ - d->setGroupBoxType(GroupBoxTypeUnknown); + // delete mContentWidget if widget is null. + if( d->mContentWidget ){ + delete d->mContentWidget; + d->mContentWidget = 0; + HbStyle::setItemName( d->mContentWidget, QString()); + if(d->mHeadingWidget){ + d->setGroupBoxType(GroupBoxSimpleLabel); + }else{ + d->setGroupBoxType(GroupBoxTypeUnknown); + } } } - repolish(); + if(doPolish){ + repolish(); + } } /*!