Index: /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.h	(revision 27400)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.h	(revision 27401)
@@ -56,4 +56,7 @@
 signals:
     void clicked (bool checked = false);
+
+protected:
+    void resizeEvent(QResizeEvent *pEvent);
 
 private:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.mm
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.mm	(revision 27400)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/darwin/VBoxCocoaSpecialControls.mm	(revision 27401)
@@ -1,2 +1,3 @@
+/* $Id$ */
 /** @file
  *
@@ -204,4 +205,5 @@
   : QMacCocoaViewContainer (0, aParent)
 {
+    setContentsMargins(0, 0, 0, 0);
     switch (aType)
     {
@@ -250,4 +252,12 @@
 }
 
+void VBoxCocoaButton::resizeEvent(QResizeEvent * /* pEvent */)
+{
+    NSRect frame = [mNativeRef frame];
+    frame.size.width = width();
+    frame.size.height = height();
+    [mNativeRef setFrame:frame];
+}
+
 void VBoxCocoaButton::setText (const QString& aText)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIDownloader.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIDownloader.cpp	(revision 27400)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIDownloader.cpp	(revision 27401)
@@ -27,4 +27,5 @@
 #include "VBoxGlobal.h"
 #include "VBoxProblemReporter.h"
+#include "VBoxSpecialControls.h"
 
 /* Global includes */
@@ -35,5 +36,5 @@
     : QWidget(pParent)
     , m_pProgressBar(new QProgressBar(this))
-    , m_pCancelButton(new QToolButton(this))
+    , m_pCancelButton(new VBoxMiniCancelButton(this))
 {
     /* Progress Bar setup */
@@ -43,17 +44,30 @@
 
     /* Cancel Button setup */
-    m_pCancelButton->setAutoRaise(true);
     m_pCancelButton->setFocusPolicy(Qt::TabFocus);
+    m_pCancelButton->removeBorder();
     connect(m_pCancelButton, SIGNAL(clicked()),
             this, SIGNAL(sigCancel()));
 
+    setContentsMargins(0, 0, 0, 0);
+    setFixedHeight(16);
+
     /* Layout setup */
-    setFixedHeight(16);
     QHBoxLayout *pMainLayout = new QHBoxLayout(this);
+    VBoxGlobal::setLayoutMargin(pMainLayout, 0);
+
+#ifdef Q_WS_MAC
+    pMainLayout->setSpacing(2);
+    m_pProgressBar->setFixedHeight(14);
+    m_pCancelButton->setFixedHeight(11);
+    pMainLayout->addWidget(m_pProgressBar, 0, Qt::AlignTop);
+    pMainLayout->addWidget(m_pCancelButton, 0, Qt::AlignBottom);
+#else /* Q_WS_MAC */
     pMainLayout->setSpacing(0);
-    VBoxGlobal::setLayoutMargin(pMainLayout, 0);
-    pMainLayout->addWidget(m_pProgressBar);
-    pMainLayout->addWidget(m_pCancelButton);
+    pMainLayout->addWidget(m_pProgressBar, 0, Qt::AlignCenter);
+    pMainLayout->addWidget(m_pCancelButton, 0, Qt::AlignCenter);
+#endif /* !Q_WS_MAC */
+
     pMainLayout->addStretch(1);
+
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIDownloader.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIDownloader.h	(revision 27400)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIDownloader.h	(revision 27401)
@@ -28,9 +28,11 @@
 #include <QWidget>
 
+/* Local forward declarations */
+class QIHttp;
+class VBoxMiniCancelButton;
+
 /* Global forward declarations */
-class QIHttp;
 class QHttpResponseHeader;
 class QProgressBar;
-class QToolButton;
 
 class UIMiniProcessWidget : public QWidget
@@ -66,5 +68,6 @@
     /* Private member vars */
     QProgressBar *m_pProgressBar;
-    QToolButton *m_pCancelButton;
+    VBoxMiniCancelButton *m_pCancelButton;
+
     QString m_strSource;
 };
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.cpp	(revision 27400)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.cpp	(revision 27401)
@@ -43,4 +43,9 @@
              this, SIGNAL (clicked()));
     setFixedSize (mButton->size());
+}
+
+void VBoxMiniCancelButton::resizeEvent(QResizeEvent * /* pEvent */)
+{
+    mButton->resize(size());
 }
 
@@ -103,4 +108,9 @@
                                           ":/delete_dis_16px.png");
     setIcon (cancelIcon);
+}
+
+void VBoxMiniCancelButton::removeBorder()
+{
+    setStyleSheet("QToolButton { border: 0px }");
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.h	(revision 27400)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/widgets/VBoxSpecialControls.h	(revision 27401)
@@ -49,7 +49,9 @@
     void setText (const QString &aText) { mButton->setText (aText); }
     void setToolTip (const QString &aTip) { mButton->setToolTip (aTip); }
+    void removeBorder() {}
 
 protected:
     void paintEvent (QPaintEvent * /* aEvent */) {}
+    void resizeEvent(QResizeEvent *pEvent);
 
 private:
@@ -130,4 +132,5 @@
 public:
     VBoxMiniCancelButton (QWidget *aParent = 0);
+    void removeBorder();
 
 protected:
