Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp	(revision 74049)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp	(revision 74078)
@@ -204,11 +204,11 @@
     , m_fRoot(!pParent)
     , m_fHovered(false)
-    , m_pHighlightMachine(0)
-    , m_pForwardAnimation(0)
-    , m_pBackwardAnimation(0)
+    , m_pHoveringMachine(0)
+    , m_pHoveringAnimationForward(0)
+    , m_pHoveringAnimationBackward(0)
     , m_iAnimationDuration(400)
-    , m_iDefaultDarkness(100)
-    , m_iHighlightDarkness(90)
-    , m_iAnimationDarkness(m_iDefaultDarkness)
+    , m_iDefaultValue(100)
+    , m_iHoveredValue(90)
+    , m_iAnimatedValue(m_iDefaultValue)
     , m_iPreviousMinimumWidthHint(0)
     , m_iPreviousMinimumHeightHint(0)
@@ -229,35 +229,66 @@
     if (!isRoot())
     {
-        /* Create state machine: */
-        m_pHighlightMachine = new QStateMachine(this);
-        /* Create 'default' state: */
-        QState *pStateDefault = new QState(m_pHighlightMachine);
-        pStateDefault->assignProperty(this, "animationDarkness", m_iDefaultDarkness);
-        /* Create 'highlighted' state: */
-        QState *pStateHighlighted = new QState(m_pHighlightMachine);
-        pStateHighlighted->assignProperty(this, "animationDarkness", m_iHighlightDarkness);
-
-        /* Forward animation: */
-        m_pForwardAnimation = new QPropertyAnimation(this, "animationDarkness", this);
-        m_pForwardAnimation->setDuration(m_iAnimationDuration);
-        m_pForwardAnimation->setStartValue(m_iDefaultDarkness);
-        m_pForwardAnimation->setEndValue(m_iHighlightDarkness);
-
-        /* Backward animation: */
-        m_pBackwardAnimation = new QPropertyAnimation(this, "animationDarkness", this);
-        m_pBackwardAnimation->setDuration(m_iAnimationDuration);
-        m_pBackwardAnimation->setStartValue(m_iHighlightDarkness);
-        m_pBackwardAnimation->setEndValue(m_iDefaultDarkness);
-
-        /* Add state transitions: */
-        QSignalTransition *pDefaultToHighlighted = pStateDefault->addTransition(this, SIGNAL(sigHoverEnter()), pStateHighlighted);
-        pDefaultToHighlighted->addAnimation(m_pForwardAnimation);
-        QSignalTransition *pHighlightedToDefault = pStateHighlighted->addTransition(this, SIGNAL(sigHoverLeave()), pStateDefault);
-        pHighlightedToDefault->addAnimation(m_pBackwardAnimation);
-
-        /* Initial state is 'default': */
-        m_pHighlightMachine->setInitialState(pStateDefault);
-        /* Start state-machine: */
-        m_pHighlightMachine->start();
+        /* Create hovering animation machine: */
+        m_pHoveringMachine = new QStateMachine(this);
+        if (m_pHoveringMachine)
+        {
+            /* Create 'default' state: */
+            QState *pStateDefault = new QState(m_pHoveringMachine);
+            /* Create 'hovered' state: */
+            QState *pStateHovered = new QState(m_pHoveringMachine);
+
+            /* Configure 'default' state: */
+            if (pStateDefault)
+            {
+                /* When we entering default state => we assigning animatedValue to m_iDefaultValue: */
+                pStateDefault->assignProperty(this, "animatedValue", m_iDefaultValue);
+
+                /* Add state transitions: */
+                QSignalTransition *pDefaultToHovered = pStateDefault->addTransition(this, SIGNAL(sigHoverEnter()), pStateHovered);
+                if (pDefaultToHovered)
+                {
+                    /* Create forward animation: */
+                    m_pHoveringAnimationForward = new QPropertyAnimation(this, "animatedValue", this);
+                    if (m_pHoveringAnimationForward)
+                    {
+                        m_pHoveringAnimationForward->setDuration(m_iAnimationDuration);
+                        m_pHoveringAnimationForward->setStartValue(m_iDefaultValue);
+                        m_pHoveringAnimationForward->setEndValue(m_iHoveredValue);
+
+                        /* Add to transition: */
+                        pDefaultToHovered->addAnimation(m_pHoveringAnimationForward);
+                    }
+                }
+            }
+
+            /* Configure 'hovered' state: */
+            if (pStateHovered)
+            {
+                /* When we entering hovered state => we assigning animatedValue to m_iHoveredValue: */
+                pStateHovered->assignProperty(this, "animatedValue", m_iHoveredValue);
+
+                /* Add state transitions: */
+                QSignalTransition *pHoveredToDefault = pStateHovered->addTransition(this, SIGNAL(sigHoverLeave()), pStateDefault);
+                if (pHoveredToDefault)
+                {
+                    /* Create backward animation: */
+                    m_pHoveringAnimationBackward = new QPropertyAnimation(this, "animatedValue", this);
+                    if (m_pHoveringAnimationBackward)
+                    {
+                        m_pHoveringAnimationBackward->setDuration(m_iAnimationDuration);
+                        m_pHoveringAnimationBackward->setStartValue(m_iHoveredValue);
+                        m_pHoveringAnimationBackward->setEndValue(m_iDefaultValue);
+
+                        /* Add to transition: */
+                        pHoveredToDefault->addAnimation(m_pHoveringAnimationBackward);
+                    }
+                }
+            }
+
+            /* Initial state is 'default': */
+            m_pHoveringMachine->setInitialState(pStateDefault);
+            /* Start state-machine: */
+            m_pHoveringMachine->start();
+        }
     }
 }
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.h	(revision 74049)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.h	(revision 74078)
@@ -78,5 +78,5 @@
 {
     Q_OBJECT;
-    Q_PROPERTY(int animationDarkness READ animationDarkness WRITE setAnimationDarkness);
+    Q_PROPERTY(int animatedValue READ animatedValue WRITE setAnimatedValue);
 
 signals:
@@ -255,18 +255,18 @@
         virtual void handleRootStatusChange();
 
-        /** Defines item's @a iDefaultDarkness. */
-        void setDefaultDarkness(int iDefaultDarkness) { m_iDefaultDarkness = iDefaultDarkness; update(); }
-        /** Returns default item darkness. */
-        int defaultDarkness() const { return m_iDefaultDarkness; }
-
-        /** Defines item's @a iHighlightDarkness. */
-        void setHighlightDarkness(int iHighlightDarkness) { m_iHighlightDarkness = iHighlightDarkness; update(); }
-        /** Returns highlight item darkness. */
-        int highlightDarkness() const { return m_iHighlightDarkness; }
-
-        /** Defines item's @a iAnimationDarkness. */
-        void setAnimationDarkness(int iAnimationDarkness) { m_iAnimationDarkness = iAnimationDarkness; update(); }
-        /** Returns animation item darkness. */
-        int animationDarkness() const { return m_iAnimationDarkness; }
+        /** Defines item's default animation @a iValue. */
+        void setDefaultValue(int iValue) { m_iDefaultValue = iValue; update(); }
+        /** Returns item's default animation value. */
+        int defaultValue() const { return m_iDefaultValue; }
+
+        /** Defines item's hovered animation @a iValue. */
+        void setHoveredValue(int iValue) { m_iHoveredValue = iValue; update(); }
+        /** Returns item's hovered animation value. */
+        int hoveredValue() const { return m_iHoveredValue; }
+
+        /** Defines item's animated @a iValue. */
+        void setAnimatedValue(int iValue) { m_iAnimatedValue = iValue; update(); }
+        /** Returns item's animated value. */
+        int animatedValue() const { return m_iAnimatedValue; }
     /** @} */
 
@@ -327,24 +327,21 @@
         /** Holds whether item is root. */
         bool  m_fRoot;
+
         /** Holds whether item is hovered. */
-        bool  m_fHovered;
-
-        /** Holds item highlight machine instance. */
-        QStateMachine *m_pHighlightMachine;
-
-        /** Holds item forward animation instance. */
-        QPropertyAnimation *m_pForwardAnimation;
-        /** Holds item backward animation instance. */
-        QPropertyAnimation *m_pBackwardAnimation;
-
-        /** Holds item animation duration. */
-        int  m_iAnimationDuration;
-
-        /** Holds default item darkness. */
-        int  m_iDefaultDarkness;
-        /** Holds highlight item darkness. */
-        int  m_iHighlightDarkness;
-        /** Holds animation item darkness. */
-        int  m_iAnimationDarkness;
+        bool                m_fHovered;
+        /** Holds the hovering animation machine instance. */
+        QStateMachine      *m_pHoveringMachine;
+        /** Holds the forward hovering animation instance. */
+        QPropertyAnimation *m_pHoveringAnimationForward;
+        /** Holds the backward hovering animation instance. */
+        QPropertyAnimation *m_pHoveringAnimationBackward;
+        /** Holds the animation duration. */
+        int                 m_iAnimationDuration;
+        /** Holds the default animation value. */
+        int                 m_iDefaultValue;
+        /** Holds the hovered animation value. */
+        int                 m_iHoveredValue;
+        /** Holds the animated value. */
+        int                 m_iAnimatedValue;
     /** @} */
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp	(revision 74049)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp	(revision 74078)
@@ -1672,5 +1672,5 @@
             QLinearGradient headerGradient(headerRect.bottomLeft(), headerRect.topLeft());
             headerGradient.setColorAt(1, headerColor.darker(blackoutDarkness()));
-            headerGradient.setColorAt(0, headerColor.darker(animationDarkness()));
+            headerGradient.setColorAt(0, headerColor.darker(animatedValue()));
             pPainter->fillRect(headerRect, headerGradient);
             pPainter->fillRect(bodyRect, bodyColor);
@@ -1689,5 +1689,5 @@
         /* Prepare top gradient: */
         QLinearGradient tGradient(tRect.bottomLeft(), tRect.topLeft());
-        tGradient.setColorAt(1, headerColor.darker(animationDarkness()));
+        tGradient.setColorAt(1, headerColor.darker(animatedValue()));
         tGradient.setColorAt(0, headerColor.darker(blackoutDarkness()));
         /* Fill top rectangle: */
