src/hbcore/gui/hbtoolbutton.cpp
changeset 28 b7da29130b0e
parent 23 e6ad4ef83b23
child 30 80e4d18b72f5
--- 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) {