Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp	(revision 74079)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.cpp	(revision 74080)
@@ -50,11 +50,11 @@
     , m_fHovered(false)
     , m_fNameHovered(false)
-    , m_pHighlightMachine(0)
-    , m_pForwardAnimation(0)
-    , m_pBackwardAnimation(0)
-    , m_iAnimationDuration(400)
-    , m_iDefaultDarkness(100)
-    , m_iHighlightDarkness(90)
-    , m_iAnimationDarkness(m_iDefaultDarkness)
+    , m_pHoveringMachine(0)
+    , m_pHoveringAnimationForward(0)
+    , m_pHoveringAnimationBackward(0)
+    , m_iAnimationDuration(300)
+    , m_iDefaultValue(100)
+    , m_iHoveredValue(90)
+    , m_iAnimatedValue(m_iDefaultValue)
     , m_pButton(0)
     , m_fClosed(!fOpened)
@@ -457,35 +457,66 @@
     updateIcon();
 
-    /* Create highlight 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 transition: */
+            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 transition: */
+            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();
+    }
 
     /* Configure connections: */
@@ -711,5 +742,5 @@
     QLinearGradient tGradient(tRect.bottomLeft(), tRect.topLeft());
     tGradient.setColorAt(0, headerColor.darker(110));
-    tGradient.setColorAt(1, headerColor.darker(animationDarkness()));
+    tGradient.setColorAt(1, headerColor.darker(animatedValue()));
 
     /* Paint all the stuff: */
Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.h	(revision 74079)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/details/UIDetailsElement.h	(revision 74080)
@@ -43,5 +43,5 @@
 {
     Q_OBJECT;
-    Q_PROPERTY(int animationDarkness READ animationDarkness WRITE setAnimationDarkness);
+    Q_PROPERTY(int animatedValue READ animatedValue WRITE setAnimatedValue);
     Q_PROPERTY(int additionalHeight READ additionalHeight WRITE setAdditionalHeight);
 
@@ -248,8 +248,8 @@
         void updateIcon();
 
-        /** Defines @a iAnimationDarkness. */
-        void setAnimationDarkness(int iAnimationDarkness) { m_iAnimationDarkness = iAnimationDarkness; update(); }
-        /** Returns animation darkness. */
-        int animationDarkness() const { return m_iAnimationDarkness; }
+        /** Defines animated @a iValue. */
+        void setAnimatedValue(int iValue) { m_iAnimatedValue = iValue; update(); }
+        /** Returns animated value. */
+        int animatedValue() const { return m_iAnimatedValue; }
 
         /** Handles any kind of hover @a pEvent. */
@@ -306,18 +306,18 @@
         /** Holds whether element name is hovered. */
         bool                m_fNameHovered;
-        /** Holds the highlight machine instance. */
-        QStateMachine      *m_pHighlightMachine;
-        /** Holds the forward highlight animation instance. */
-        QPropertyAnimation *m_pForwardAnimation;
-        /** Holds the backward highlight animation instance. */
-        QPropertyAnimation *m_pBackwardAnimation;
+        /** 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 darkness. */
-        int                 m_iDefaultDarkness;
-        /** Holds the highlight darkness. */
-        int                 m_iHighlightDarkness;
-        /** Holds the animation darkness. */
-        int                 m_iAnimationDarkness;
+        /** Holds the default animation value. */
+        int                 m_iDefaultValue;
+        /** Holds the hovered animation value. */
+        int                 m_iHoveredValue;
+        /** Holds the animated value. */
+        int                 m_iAnimatedValue;
 
         /** Holds the toggle button instance. */
