Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollArea.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollArea.cpp	(revision 80694)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollArea.cpp	(revision 80695)
@@ -27,4 +27,5 @@
 UIGraphicsScrollArea::UIGraphicsScrollArea(Qt::Orientation enmOrientation, QGraphicsScene *pScene /* = 0 */)
     : m_enmOrientation(enmOrientation)
+    , m_fAutoHideMode(true)
     , m_pScrollBar(0)
     , m_pViewport(0)
@@ -37,4 +38,5 @@
     : QIGraphicsWidget(pParent)
     , m_enmOrientation(enmOrientation)
+    , m_fAutoHideMode(true)
     , m_pScrollBar(0)
     , m_pViewport(0)
@@ -55,6 +57,11 @@
                 /* Expand it with viewport height: */
                 const int iWidgetHeight = m_pViewport->size().height();
-                if (msh.height() < iWidgetHeight)
-                    msh.setHeight(iWidgetHeight);
+                if (m_fAutoHideMode)
+                {
+                    if (msh.height() < iWidgetHeight)
+                        msh.setHeight(iWidgetHeight);
+                }
+                else
+                    msh.setHeight(msh.height() + iWidgetHeight);
                 break;
             }
@@ -63,6 +70,11 @@
                 /* Expand it with viewport width: */
                 const int iWidgetWidth = m_pViewport->size().width();
-                if (msh.width() < iWidgetWidth)
-                    msh.setWidth(iWidgetWidth);
+                if (m_fAutoHideMode)
+                {
+                    if (msh.width() < iWidgetWidth)
+                        msh.setWidth(iWidgetWidth);
+                }
+                else
+                    msh.setWidth(msh.width() + iWidgetWidth);
                 break;
             }
@@ -234,5 +246,5 @@
 {
     /* Create scroll-bar: */
-    m_pScrollBar = new UIGraphicsScrollBar(m_enmOrientation, this);
+    m_pScrollBar = new UIGraphicsScrollBar(m_enmOrientation, m_fAutoHideMode, this);
     if (m_pScrollBar)
     {
@@ -258,5 +270,8 @@
             {
                 /* Align viewport and shift it horizontally: */
-                m_pViewport->resize(m_pViewport->minimumSizeHint().width(), size().height());
+                if (m_fAutoHideMode)
+                    m_pViewport->resize(m_pViewport->minimumSizeHint().width(), size().height());
+                else
+                    m_pViewport->resize(m_pViewport->minimumSizeHint().width(), size().height() - m_pScrollBar->minimumSizeHint().height());
                 m_pViewport->setPos(-m_pScrollBar->value(), 0);
                 break;
@@ -265,5 +280,8 @@
             {
                 /* Align viewport and shift it vertically: */
-                m_pViewport->resize(size().width(), m_pViewport->minimumSizeHint().height());
+                if (m_fAutoHideMode)
+                    m_pViewport->resize(size().width(), m_pViewport->minimumSizeHint().height());
+                else
+                    m_pViewport->resize(size().width() - m_pScrollBar->minimumSizeHint().width(), m_pViewport->minimumSizeHint().height());
                 m_pViewport->setPos(0, -m_pScrollBar->value());
                 break;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollArea.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollArea.h	(revision 80694)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollArea.h	(revision 80695)
@@ -85,4 +85,6 @@
     /** Holds the orientation. */
     Qt::Orientation  m_enmOrientation;
+    /** Holds whether scroll-bar is in auto-hide mode. */
+    bool             m_fAutoHideMode;
 
     /** Holds the scroll-bar instance. */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.cpp	(revision 80694)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.cpp	(revision 80695)
@@ -233,6 +233,7 @@
 *********************************************************************************************************************************/
 
-UIGraphicsScrollBar::UIGraphicsScrollBar(Qt::Orientation enmOrientation, QGraphicsScene *pScene)
+UIGraphicsScrollBar::UIGraphicsScrollBar(Qt::Orientation enmOrientation, bool fAutoHideMode, QGraphicsScene *pScene)
     : m_enmOrientation(enmOrientation)
+    , m_fAutoHideMode(fAutoHideMode)
     , m_iExtent(-1)
     , m_iMinimum(0)
@@ -249,5 +250,5 @@
 #ifdef VBOX_WS_MAC
     , m_fRevealed(false)
-    , m_iRevealingValue(0)
+    , m_iRevealingValue(m_fAutoHideMode ? 0 : 50)
     , m_iRevealOnTimerId(0)
     , m_iRevealOffTimerId(0)
@@ -258,7 +259,8 @@
 }
 
-UIGraphicsScrollBar::UIGraphicsScrollBar(Qt::Orientation enmOrientation, QIGraphicsWidget *pParent /* = 0 */)
+UIGraphicsScrollBar::UIGraphicsScrollBar(Qt::Orientation enmOrientation, bool fAutoHideMode, QIGraphicsWidget *pParent /* = 0 */)
     : QIGraphicsWidget(pParent)
     , m_enmOrientation(enmOrientation)
+    , m_fAutoHideMode(fAutoHideMode)
     , m_iExtent(-1)
     , m_iMinimum(0)
@@ -275,5 +277,5 @@
 #ifdef VBOX_WS_MAC
     , m_fRevealed(false)
-    , m_iRevealingValue(0)
+    , m_iRevealingValue(m_fAutoHideMode ? 0 : 50)
     , m_iRevealOnTimerId(0)
     , m_iRevealOffTimerId(0)
@@ -461,5 +463,5 @@
     {
         /* Start hover-on timer, handled in timerEvent() below: */
-        m_iHoverOnTimerId = startTimer(400);
+        m_iHoverOnTimerId = startTimer(m_fAutoHideMode ? 400 : 100);
         m_fHovered = true;
     }
@@ -475,5 +477,5 @@
     {
         /* Start hover-off timer, handled in timerEvent() below: */
-        m_iHoverOffTimerId = startTimer(1000);
+        m_iHoverOffTimerId = startTimer(m_fAutoHideMode ? 1000 : 100);
         m_fHovered = false;
     }
@@ -537,5 +539,5 @@
         /* Restart timer otherwise: */
         else
-            m_iRevealOffTimerId = startTimer(2000);
+            m_iRevealOffTimerId = startTimer(m_fAutoHideMode ? 2000 : 100);
         /* Update in any case: */
         update();
@@ -657,5 +659,5 @@
 
     /* Restart fresh sustain timer: */
-    m_iRevealOnTimerId = startTimer(1000);
+    m_iRevealOnTimerId = startTimer(m_fAutoHideMode ? 1000 : 100);
 }
 
@@ -669,5 +671,5 @@
 {
     /* Start reveal-out timer: */
-    m_iRevealOffTimerId = startTimer(2000);
+    m_iRevealOffTimerId = startTimer(m_fAutoHideMode ? 2000 : 100);
 }
 #endif /* VBOX_WS_MAC */
@@ -839,5 +841,5 @@
         {
             /* When we entering fade state => we assigning revealingValue to 0: */
-            pStateFaded->assignProperty(this, "revealingValue", 0);
+            pStateFaded->assignProperty(this, "revealingValue", m_fAutoHideMode ? 0 : 50);
             connect(pStateFaded, &QState::propertiesAssigned, this, &UIGraphicsScrollBar::sltStateEnteredFaded);
 
@@ -851,5 +853,5 @@
                 {
                     pRevealingAnimationForward->setDuration(200);
-                    pRevealingAnimationForward->setStartValue(0);
+                    pRevealingAnimationForward->setStartValue(m_fAutoHideMode ? 0 : 50);
                     pRevealingAnimationForward->setEndValue(100);
 
@@ -877,5 +879,5 @@
                     pRevealingAnimationBackward->setDuration(200);
                     pRevealingAnimationBackward->setStartValue(100);
-                    pRevealingAnimationBackward->setEndValue(0);
+                    pRevealingAnimationBackward->setEndValue(m_fAutoHideMode ? 0 : 50);
 
                     /* Add to transition: */
@@ -996,5 +998,6 @@
     pPainter->save();
     QColor windowColor = pal.color(QPalette::Active, QPalette::Window);
-    windowColor.setAlpha(255 * ((double)m_iHoveringValue / 100));
+    if (m_fAutoHideMode)
+        windowColor.setAlpha(255 * ((double)m_iHoveringValue / 100));
     pPainter->fillRect(rectangle, windowColor);
     pPainter->restore();
@@ -1003,5 +1006,6 @@
     pPainter->save();
     QColor frameColor = pal.color(QPalette::Active, QPalette::Window);
-    frameColor.setAlpha(255 * ((double)m_iHoveringValue / 100));
+    if (m_fAutoHideMode)
+        frameColor.setAlpha(255 * ((double)m_iHoveringValue / 100));
     frameColor = frameColor.darker(120);
     pPainter->setPen(frameColor);
@@ -1017,6 +1021,14 @@
         QRectF tokenRectangle = QRect(actualTokenPosition(), QSize(m_iExtent, 2 * m_iExtent));
         QRectF actualRectangle = tokenRectangle;
-        actualRectangle.setLeft(tokenRectangle.left() + .22 * tokenRectangle.width() + .22 * tokenRectangle.width() * ((double)100 - m_iHoveringValue) / 100);
-        actualRectangle.setRight(tokenRectangle.right() - .22 * tokenRectangle.width() + .22 * tokenRectangle.width() * ((double)100 - m_iHoveringValue) / 100 - 1);
+        if (m_fAutoHideMode)
+        {
+            actualRectangle.setLeft(tokenRectangle.left() + .22 * tokenRectangle.width() + .22 * tokenRectangle.width() * ((double)100 - m_iHoveringValue) / 100);
+            actualRectangle.setRight(tokenRectangle.right() - .22 * tokenRectangle.width() + .22 * tokenRectangle.width() * ((double)100 - m_iHoveringValue) / 100 - 1);
+        }
+        else
+        {
+            actualRectangle.setLeft(tokenRectangle.left() + .22 * tokenRectangle.width());
+            actualRectangle.setRight(tokenRectangle.right() - .22 * tokenRectangle.width() - 1);
+        }
         const double dRadius = actualRectangle.width() / 2;
         QPainterPath painterPath = QPainterPath(QPoint(actualRectangle.x(), actualRectangle.y() + dRadius));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.h	(revision 80694)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/graphics/UIGraphicsScrollBar.h	(revision 80695)
@@ -58,9 +58,11 @@
 public:
 
-    /** Constructs graphics scroll-bar of requested @a enmOrientation, embedding it directly to passed @a pScene. */
-    UIGraphicsScrollBar(Qt::Orientation enmOrientation, QGraphicsScene *pScene);
-
-    /** Constructs graphics scroll-bar of requested @a enmOrientation passing @a pParent to the base-class. */
-    UIGraphicsScrollBar(Qt::Orientation enmOrientation, QIGraphicsWidget *pParent = 0);
+    /** Constructs graphics scroll-bar of requested @a enmOrientation, embedding it directly to passed @a pScene.
+      * @param  fAutoHideMode  Brings whether scroll-bar should be created in auto-hide mode. */
+    UIGraphicsScrollBar(Qt::Orientation enmOrientation, bool fAutoHideMode, QGraphicsScene *pScene);
+
+    /** Constructs graphics scroll-bar of requested @a enmOrientation passing @a pParent to the base-class.
+      * @param  fAutoHideMode  Brings whether scroll-bar should be created in auto-hide mode. */
+    UIGraphicsScrollBar(Qt::Orientation enmOrientation, bool fAutoHideMode, QIGraphicsWidget *pParent = 0);
 
     /** Returns minimum size-hint. */
@@ -187,4 +189,6 @@
     /** Holds the orientation. */
     const Qt::Orientation  m_enmOrientation;
+    /** Holds whether scroll-bar is in auto-hide mode. */
+    bool                   m_fAutoHideMode;
 
     /** Holds the scroll-bar extent. */
