--- 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();
+ }
}
/*!