Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp	(revision 45306)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.cpp	(revision 45307)
@@ -36,4 +36,5 @@
     /* Setup main-layout */
     VBoxGlobal::setLayoutMargin (mMainLayout, 0);
+    mMainLayout->setSpacing(3);
 
     /* Setup buttons */
@@ -61,4 +62,7 @@
     /* Install event-filter */
     qApp->installEventFilter (this);
+
+    /* Hide child initially: */
+    toggleWidget();
 }
 
@@ -79,4 +83,41 @@
     mSwitchButton->setText (aName);
     emit sigSizeChanged();
+}
+
+QSize QIArrowSplitter::minimumSizeHint() const
+{
+    /* Get size-hints: */
+    QSize switchButtonHint = mSwitchButton->minimumSizeHint();
+    QSize backButtonHint = mBackButton->minimumSizeHint();
+    QSize nextButtonHint = mNextButton->minimumSizeHint();
+    int iChildWidthHint = 0;
+    int iChildHeightHint = 0;
+    if (mChild)
+    {
+        QSize childHint = mChild->minimumSize();
+        if (childHint.isNull())
+            childHint = mChild->minimumSizeHint();
+        iChildWidthHint = childHint.width();
+        iChildHeightHint = childHint.height();
+    }
+
+    /* Calculate width-hint: */
+    int iWidthHint = 0;
+    iWidthHint += switchButtonHint.width();
+    iWidthHint += backButtonHint.width();
+    iWidthHint += nextButtonHint.width();
+    if (mChild)
+        iWidthHint = qMax(iWidthHint, iChildWidthHint);
+
+    /* Calculate height-hint: */
+    int iHeightHint = 0;
+    iHeightHint = qMax(iHeightHint, switchButtonHint.height());
+    iHeightHint = qMax(iHeightHint, backButtonHint.height());
+    iHeightHint = qMax(iHeightHint, nextButtonHint.height());
+    if (mChild && mChild->isVisible())
+        iHeightHint += mMainLayout->spacing() + iChildHeightHint;
+
+    /* Return result: */
+    return QSize(iWidthHint, iHeightHint);
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.h	(revision 45306)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QIArrowSplitter.h	(revision 45307)
@@ -54,4 +54,6 @@
     void setName (const QString &aName);
 
+    QSize minimumSizeHint() const;
+
 public slots:
 
