Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp	(revision 90193)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp	(revision 90206)
@@ -25,11 +25,14 @@
 /* GUI includes: */
 #include "QILineEdit.h"
+#include "QIToolButton.h"
 #include "UICommon.h"
 #include "UIConverter.h"
+#include "UIFilePathSelector.h"
 #include "UIHostnameDomainNameEditor.h"
-#include "UIFilePathSelector.h"
+#include "UIIconPool.h"
+#include "UIMediumSizeEditor.h"
 #include "UIUserNamePasswordEditor.h"
+#include "UIWizardDiskEditors.h"
 #include "UIWizardNewVM.h"
-#include "UIWizardDiskEditors.h"
 
 /* Other VBox includes: */
@@ -94,5 +97,5 @@
 void UIDiskFormatsGroupBox::retranslateUi()
 {
-    setTitle(UIDiskFormatsGroupBox::tr("Hard Disk File &Type"));
+    setTitle(tr("Hard Disk File &Type"));
 
     if (m_pFormatButtonGroup)
@@ -191,12 +194,66 @@
 void UIDiskVariantGroupBox::retranslateUi()
 {
-    setTitle(UIDiskVariantGroupBox::tr("Storage on Physical Hard Disk"));
+    setTitle(tr("Storage on Physical Hard Disk"));
     if (m_pFixedCheckBox)
     {
-        m_pFixedCheckBox->setText(UIDiskVariantGroupBox::tr("Pre-allocate &Full Size"));
-        m_pFixedCheckBox->setToolTip(UIDiskVariantGroupBox::tr("<p>When checked, the virtual disk image will be fully allocated at "
+        m_pFixedCheckBox->setText(tr("Pre-allocate &Full Size"));
+        m_pFixedCheckBox->setToolTip(tr("<p>When checked, the virtual disk image will be fully allocated at "
                                                        "VM creation time, rather than being allocated dynamically at VM run-time.</p>"));
     }
-    m_pSplitBox->setText(UIDiskVariantGroupBox::tr("&Split into files of less than 2GB"));
-
-}
+    m_pSplitBox->setText(tr("&Split into files of less than 2GB"));
+
+}
+
+
+/*********************************************************************************************************************************
+*   UIDiskSizeAndLocationGroupBox implementation.                                                                                *
+*********************************************************************************************************************************/
+
+UIDiskSizeAndLocationGroupBox::UIDiskSizeAndLocationGroupBox(QWidget *pParent /* = 0 */)
+    : QIWithRetranslateUI<QGroupBox>(pParent)
+    , m_pLocationLabel(0)
+    , m_pLocationEditor(0)
+    , m_pLocationOpenButton(0)
+    , m_pMediumSizeEditorLabel(0)
+    , m_pMediumSizeEditor(0)
+{
+    prepare();
+}
+
+void UIDiskSizeAndLocationGroupBox::prepare()
+{
+    QGridLayout *pDiskContainerLayout = new QGridLayout(this);
+
+    /* Disk location widgets: */
+    m_pLocationLabel = new QLabel;
+    m_pLocationLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
+    m_pLocationEditor = new QILineEdit;
+    m_pLocationOpenButton = new QIToolButton;
+    if (m_pLocationOpenButton)
+    {
+        m_pLocationOpenButton->setAutoRaise(true);
+        m_pLocationOpenButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", "select_file_disabled_16px.png"));
+    }
+    m_pLocationLabel->setBuddy(m_pLocationEditor);
+
+    /* Disk file size widgets: */
+    m_pMediumSizeEditorLabel = new QLabel;
+    m_pMediumSizeEditorLabel->setAlignment(Qt::AlignRight);
+    m_pMediumSizeEditorLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
+    m_pMediumSizeEditor = new UIMediumSizeEditor;
+    m_pMediumSizeEditorLabel->setBuddy(m_pMediumSizeEditor);
+
+
+    pDiskContainerLayout->addWidget(m_pLocationLabel, 0, 0, 1, 1);
+    pDiskContainerLayout->addWidget(m_pLocationEditor, 0, 1, 1, 2);
+    pDiskContainerLayout->addWidget(m_pLocationOpenButton, 0, 3, 1, 1);
+
+    pDiskContainerLayout->addWidget(m_pMediumSizeEditorLabel, 1, 0, 1, 1, Qt::AlignBottom);
+    pDiskContainerLayout->addWidget(m_pMediumSizeEditor, 1, 1, 2, 3);
+
+    retranslateUi();
+}
+void UIDiskSizeAndLocationGroupBox::retranslateUi()
+{
+    setTitle(tr("Hard Disk File Location and Size"));
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h	(revision 90193)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h	(revision 90206)
@@ -38,8 +38,10 @@
 class QVBoxLayout;
 class QILineEdit;
+class QIToolButton;
 class UIFilePathSelector;
 class UIHostnameDomainNameEditor;
 class UIPasswordLineEdit;
 class UIUserNamePasswordEditor;
+class UIMediumSizeEditor;
 
 /* Other VBox includes: */
@@ -94,3 +96,27 @@
 
 
+class UIDiskSizeAndLocationGroupBox : public QIWithRetranslateUI<QGroupBox>
+{
+    Q_OBJECT;
+
+signals:
+
+
+public:
+
+    UIDiskSizeAndLocationGroupBox(QWidget *pParent = 0);
+
+private:
+
+    void prepare();
+    virtual void retranslateUi() /* override final */;
+
+    QLabel *m_pLocationLabel;
+    QILineEdit *m_pLocationEditor;
+    QIToolButton *m_pLocationOpenButton;
+    QLabel *m_pMediumSizeEditorLabel;
+    UIMediumSizeEditor *m_pMediumSizeEditor;
+
+};
+
 #endif /* !FEQT_INCLUDED_SRC_wizards_editors_UIWizardDiskEditors_h */
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp	(revision 90193)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp	(revision 90206)
@@ -53,10 +53,6 @@
     : m_pToolBox(0)
     , m_pDiskVariantGroupBox(0)
-    , m_pLocationLabel(0)
-    , m_pLocationEditor(0)
-    , m_pLocationOpenButton(0)
-    , m_pMediumSizeEditorLabel(0)
-    , m_pMediumSizeEditor(0)
     , m_pFormatButtonGroup(0)
+    , m_pSizeAndLocationGroup(0)
     , m_pNameAndSystemEditor(0)
     , m_pSkipUnattendedCheckBox(0)
@@ -389,36 +385,36 @@
     /* Disk location widgets: */
 
-    m_pLocationLabel = new QLabel;
-    m_pLocationLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
-    m_pLocationEditor = new QLineEdit;
-    m_pLocationOpenButton = new QIToolButton;
-    if (m_pLocationOpenButton)
-    {
-        m_pLocationOpenButton->setAutoRaise(true);
-        m_pLocationOpenButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", "select_file_disabled_16px.png"));
-    }
-    m_pLocationLabel->setBuddy(m_pLocationEditor);
-
-    /* Disk file size widgets: */
-    m_pMediumSizeEditorLabel = new QLabel;
-    m_pMediumSizeEditorLabel->setAlignment(Qt::AlignRight);
-    m_pMediumSizeEditorLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
-    m_pMediumSizeEditor = new UIMediumSizeEditor;
-    m_pMediumSizeEditorLabel->setBuddy(m_pMediumSizeEditor);
-
-
-    m_pMediumSizeEditor = new UIMediumSizeEditor;
-
-    pDiskContainerLayout->addWidget(m_pLocationLabel, 0, 0, 1, 1);
-    pDiskContainerLayout->addWidget(m_pLocationEditor, 0, 1, 1, 2);
-    pDiskContainerLayout->addWidget(m_pLocationOpenButton, 0, 3, 1, 1);
-
-    pDiskContainerLayout->addWidget(m_pMediumSizeEditorLabel, 1, 0, 1, 1, Qt::AlignBottom);
-    pDiskContainerLayout->addWidget(m_pMediumSizeEditor, 1, 1, 2, 3);
-
+    // m_pLocationLabel = new QLabel;
+    // m_pLocationLabel->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Fixed);
+    // m_pLocationEditor = new QLineEdit;
+    // m_pLocationOpenButton = new QIToolButton;
+    // if (m_pLocationOpenButton)
+    // {
+    //     m_pLocationOpenButton->setAutoRaise(true);
+    //     m_pLocationOpenButton->setIcon(UIIconPool::iconSet(":/select_file_16px.png", "select_file_disabled_16px.png"));
+    // }
+    // m_pLocationLabel->setBuddy(m_pLocationEditor);
+
+    // /* Disk file size widgets: */
+    // m_pMediumSizeEditorLabel = new QLabel;
+    // m_pMediumSizeEditorLabel->setAlignment(Qt::AlignRight);
+    // m_pMediumSizeEditorLabel->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
+    // m_pMediumSizeEditor = new UIMediumSizeEditor;
+    // m_pMediumSizeEditorLabel->setBuddy(m_pMediumSizeEditor);
+    // m_pMediumSizeEditor = new UIMediumSizeEditor;
+
+    // pDiskContainerLayout->addWidget(m_pLocationLabel, 0, 0, 1, 1);
+    // pDiskContainerLayout->addWidget(m_pLocationEditor, 0, 1, 1, 2);
+    // pDiskContainerLayout->addWidget(m_pLocationOpenButton, 0, 3, 1, 1);
+
+    // pDiskContainerLayout->addWidget(m_pMediumSizeEditorLabel, 1, 0, 1, 1, Qt::AlignBottom);
+    // pDiskContainerLayout->addWidget(m_pMediumSizeEditor, 1, 1, 2, 3);
+
+    m_pSizeAndLocationGroup = new UIDiskSizeAndLocationGroupBox;
+    pDiskContainerLayout->addWidget(m_pSizeAndLocationGroup, 0, 0, 2, 2);
     m_pFormatButtonGroup = new UIDiskFormatsGroupBox;
-    pDiskContainerLayout->addWidget(m_pFormatButtonGroup, 3, 0, 6, 2);
+    pDiskContainerLayout->addWidget(m_pFormatButtonGroup, 2, 0, 4, 1);
     m_pDiskVariantGroupBox  = new UIDiskVariantGroupBox;
-    pDiskContainerLayout->addWidget(m_pDiskVariantGroupBox, 3, 2, 6, 2);
+    pDiskContainerLayout->addWidget(m_pDiskVariantGroupBox, 2, 1, 2, 1);
 
     return pNewDiskContainerWidget;
@@ -591,7 +587,4 @@
 void UIWizardNewVMPageExpert::sltMediumSizeChanged()
 {
-    if (!m_pMediumSizeEditor)
-        return;
-
     completeChanged();
 }
@@ -660,18 +653,10 @@
 void UIWizardNewVMPageExpert::setEnableNewDiskWidgets(bool fEnable)
 {
-    if (m_pMediumSizeEditor)
-        m_pMediumSizeEditor->setEnabled(fEnable);
-    if (m_pMediumSizeEditorLabel)
-        m_pMediumSizeEditorLabel->setEnabled(fEnable);
+    if (m_pSizeAndLocationGroup)
+        m_pSizeAndLocationGroup->setEnabled(fEnable);
     if (m_pFormatButtonGroup)
         m_pFormatButtonGroup->setEnabled(fEnable);
     if (m_pDiskVariantGroupBox)
         m_pDiskVariantGroupBox->setEnabled(fEnable);
-    if (m_pLocationLabel)
-        m_pLocationLabel->setEnabled(fEnable);
-    if (m_pLocationEditor)
-        m_pLocationEditor->setEnabled(fEnable);
-    if (m_pLocationOpenButton)
-        m_pLocationOpenButton->setEnabled(fEnable);
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h	(revision 90193)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h	(revision 90206)
@@ -40,4 +40,5 @@
 class UIAdditionalUnattendedOptions;
 class UIDiskFormatsGroupBox;
+class UIDiskSizeAndLocationGroupBox;
 class UIDiskVariantGroupBox;
 class UIFilePathSelector;
@@ -129,10 +130,6 @@
         UIToolBox  *m_pToolBox;
         UIDiskVariantGroupBox *m_pDiskVariantGroupBox;
-        QLabel *m_pLocationLabel;
-        QLineEdit *m_pLocationEditor;
-        QIToolButton *m_pLocationOpenButton;
-        QLabel *m_pMediumSizeEditorLabel;
-        UIMediumSizeEditor *m_pMediumSizeEditor;
         UIDiskFormatsGroupBox *m_pFormatButtonGroup;
+        UIDiskSizeAndLocationGroupBox *m_pSizeAndLocationGroup;
         UINameAndSystemEditor *m_pNameAndSystemEditor;
         QCheckBox *m_pSkipUnattendedCheckBox;
