diff -r e6ad4ef83b23 -r b7da29130b0e src/hbcore/gui/hbtoolbutton.cpp --- a/src/hbcore/gui/hbtoolbutton.cpp Thu Sep 02 20:44:51 2010 +0300 +++ b/src/hbcore/gui/hbtoolbutton.cpp Fri Sep 17 08:32:10 2010 +0300 @@ -248,6 +248,8 @@ } else { data->frameGraphicsName = QLatin1String("qtg_fr_tb_ext"); } + } else { + data->frameGraphicsName = QLatin1String(""); } data->frameType = HbFrameDrawer::NinePieces; return; @@ -347,19 +349,20 @@ void HbToolButtonPrivate::iconPrimitiveData(HbStyleIconPrimitiveData *data) { Q_Q(HbToolButton); - if (q->action()) + if (q->action()) { data->icon = q->action()->icon(); - + } else if(action){ + data->icon = action->icon(); + } data->iconMode = HbStylePrivate::iconMode(data->state); data->iconState = HbStylePrivate::iconState(data->state); return; } void HbToolButtonPrivate::textPrimitiveData(HbStyleTextPrimitiveData *data) { - Q_Q(HbToolButton); - if (q->action()) - data->text = q->action()->text(); - return; + if(action) { + data->text = action->text(); + } } QSizeF HbToolButtonPrivate::getMinimumSize() @@ -633,6 +636,21 @@ /*! \reimp */ +void HbToolButton::checkStateSet() +{ + Q_D(HbToolButton); + if (d->checked || (d->checkable && d->down)) { + setProperty( "state", "latched" ); + } else if (d->down) { + setProperty( "state", "pressed" ); + } else { + setProperty( "state", "normal" ); + } +} + +/*! + \reimp + */ bool HbToolButton::sceneEvent(QEvent *event) { if (event->type() == QEvent::GraphicsSceneHelp) {