Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp	(revision 90214)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.cpp	(revision 90217)
@@ -49,4 +49,19 @@
 {
     prepare();
+}
+
+CMediumFormat UIDiskFormatsGroupBox::mediumFormat() const
+{
+    return m_pFormatButtonGroup && m_pFormatButtonGroup->checkedButton() ? m_formats[m_pFormatButtonGroup->checkedId()] : CMediumFormat();
+}
+
+void UIDiskFormatsGroupBox::setMediumFormat(const CMediumFormat &mediumFormat)
+{
+    int iPosition = m_formats.indexOf(mediumFormat);
+    if (iPosition >= 0)
+    {
+        m_pFormatButtonGroup->button(iPosition)->click();
+        m_pFormatButtonGroup->button(iPosition)->setFocus();
+    }
 }
 
@@ -258,2 +273,15 @@
     setTitle(tr("Hard Disk File Location and Size"));
 }
+
+QString UIDiskSizeAndLocationGroupBox::location() const
+{
+    if (m_pLocationEditor)
+        return m_pLocationEditor->text();
+    return QString();
+}
+
+void UIDiskSizeAndLocationGroupBox::setLocation(const QString &strLocation)
+{
+    if (m_pLocationEditor)
+        m_pLocationEditor->setText(strLocation);
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h	(revision 90214)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/editors/UIWizardDiskEditors.h	(revision 90217)
@@ -59,5 +59,6 @@
 
     UIDiskFormatsGroupBox(QWidget *pParent = 0);
-
+    CMediumFormat mediumFormat() const;
+    void setMediumFormat(const CMediumFormat &mediumFormat);
 
 private:
@@ -107,4 +108,7 @@
     UIDiskSizeAndLocationGroupBox(QWidget *pParent = 0);
 
+    QString location() const;
+    void setLocation(const QString &strLocation);
+
 private:
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp	(revision 90214)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.cpp	(revision 90217)
@@ -46,4 +46,6 @@
 #include "UIWizardNewVMEditors.h"
 #include "UIWizardNewVMPageExpert.h"
+#include "UIWizardNewVMNameOSTypePageBasic.h"
+#include "UIWizardNewVMDiskPageBasic.h"
 
 /* COM includes: */
@@ -116,11 +118,10 @@
 }
 
-void UIWizardNewVMPageExpert::sltNameChanged(const QString &strNewText)
-{
-    Q_UNUSED(strNewText);
-    // onNameChanged(strNewText);
-    // composeMachineFilePath();
-    // updateVirtualDiskPathFromMachinePathName();
-    // emit completeChanged();
+void UIWizardNewVMPageExpert::sltNameChanged(const QString &strNewName)
+{
+    UIWizardNewVMNameOSTypePage::onNameChanged(m_pNameAndSystemEditor, strNewName);
+    UIWizardNewVMNameOSTypePage::composeMachineFilePath(m_pNameAndSystemEditor, qobject_cast<UIWizardNewVM*>(wizard()));
+    updateVirtualDiskPathFromMachinePathName();
+    emit completeChanged();
 }
 
@@ -128,6 +129,6 @@
 {
     Q_UNUSED(strNewPath);
-    // composeMachineFilePath();
-    // updateVirtualDiskPathFromMachinePathName();
+    UIWizardNewVMNameOSTypePage::composeMachineFilePath(m_pNameAndSystemEditor, qobject_cast<UIWizardNewVM*>(wizard()));
+    updateVirtualDiskPathFromMachinePathName();
 }
 
@@ -197,19 +198,4 @@
         m_pDiskSelectionButton->setToolTip(UIWizardNewVM::tr("Choose a Virtual Hard Fisk File..."));
 
-
-
-    // if (m_pFormatButtonGroup)
-    // {
-    //     QList<QAbstractButton*> buttons = m_pFormatButtonGroup->buttons();
-    //     for (int i = 0; i < buttons.size(); ++i)
-    //     {
-    //         QAbstractButton *pButton = buttons[i];
-    //         UIMediumFormat enmFormat = gpConverter->fromInternalString<UIMediumFormat>(m_formatNames[m_pFormatButtonGroup->id(pButton)]);
-    //         pButton->setText(gpConverter->toString(enmFormat));
-    //     }
-    // }
-    // if (m_pLocationLabel)
-    //     m_pLocationLabel->setText(UIWizardNewVM::tr("Disk &Location:"));
-
     if (m_pNameAndSystemLayout && m_pNameAndSystemEditor)
         m_pNameAndSystemLayout->setColumnMinimumWidth(0, m_pNameAndSystemEditor->firstColumnWidth());
@@ -226,8 +212,8 @@
 {
     /* Connections for Name, OS Type, and unattended install stuff: */
-    // if (m_pNameAndSystemEditor)
-    // {
-    //     connect(m_pNameAndSystemEditor, &UINameAndSystemEditor::sigNameChanged,
-    //             this, &UIWizardNewVMPageExpert::sltNameChanged);
+    if (m_pNameAndSystemEditor)
+    {
+        connect(m_pNameAndSystemEditor, &UINameAndSystemEditor::sigNameChanged,
+                this, &UIWizardNewVMPageExpert::sltNameChanged);
     //     connect(m_pNameAndSystemEditor, &UINameAndSystemEditor::sigPathChanged,
     //             this, &UIWizardNewVMPageExpert::sltPathChanged);
@@ -238,5 +224,5 @@
     //     connect(m_pNameAndSystemEditor, &UINameAndSystemEditor::sigImageChanged,
     //             this, &UIWizardNewVMPageExpert::sltISOPathChanged);
-    // }
+    }
 
     // /* Connections for username, password, and hostname: */
@@ -353,8 +339,15 @@
 void UIWizardNewVMPageExpert::initializePage()
 {
+    UIWizardNewVM *pWizard = qobject_cast<UIWizardNewVM*>(wizard());
+    AssertReturnVoid(pWizard);
+    /* Initialize wizard properties: */
+    if (m_pFormatButtonGroup)
+        newVMWizardPropertySet(MediumFormat, m_pFormatButtonGroup->mediumFormat());
+
+
     // disableEnableUnattendedRelatedWidgets(isUnattendedEnabled());
     // setOSTypeDependedValues();
     // disableEnableUnattendedRelatedWidgets(isUnattendedEnabled());
-    // updateVirtualDiskPathFromMachinePathName();
+    updateVirtualDiskPathFromMachinePathName();
     // updateWidgetAterMediumFormatChange();
     // setSkipCheckBoxEnable();
@@ -651,16 +644,25 @@
 void UIWizardNewVMPageExpert::updateVirtualDiskPathFromMachinePathName()
 {
-    // QString strDiskFileName = machineBaseName().isEmpty() ? QString("NewVirtualDisk1") : machineBaseName();
-    // QString strDiskPath = machineFolder();
-    // if (strDiskPath.isEmpty())
-    // {
-    //     if (m_pNameAndSystemEditor)
-    //         strDiskPath = m_pNameAndSystemEditor->path();
-    //     else
-    //         strDiskPath = uiCommon().virtualBox().GetSystemProperties().GetDefaultMachineFolder();
-    // }
-    // QString strExtension = defaultExtension(mediumFormat());
-    // if (m_pLocationEditor)
-    //     m_pLocationEditor->setText(absoluteFilePath(strDiskFileName, strDiskPath, strExtension));
+    UIWizardNewVM *pWizard = qobject_cast<UIWizardNewVM*>(wizard());
+    AssertReturnVoid(pWizard);
+    QString strDiskFileName = pWizard->machineBaseName().isEmpty() ? QString("NewVirtualDisk1") : pWizard->machineBaseName();
+    QString strDiskPath = pWizard->machineFolder();
+    if (strDiskPath.isEmpty())
+    {
+        if (m_pNameAndSystemEditor)
+            strDiskPath = m_pNameAndSystemEditor->path();
+        else
+            strDiskPath = uiCommon().virtualBox().GetSystemProperties().GetDefaultMachineFolder();
+    }
+    QString strExtension = UIWizardNewVMDiskPage::defaultExtension(pWizard->mediumFormat());
+
+
+    if (m_pSizeAndLocationGroup)
+    {
+        QString strMediumPath =
+            UIWizardNewVMDiskPage::absoluteFilePath(UIWizardNewVMDiskPage::toFileName(strDiskFileName,
+                                                                                      strExtension), strDiskPath);
+        m_pSizeAndLocationGroup->setLocation(strMediumPath);
+    }
 }
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h	(revision 90214)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageExpert.h	(revision 90217)
@@ -70,5 +70,5 @@
 private slots:
 
-    void sltNameChanged(const QString &strNewText);
+    void sltNameChanged(const QString &strNewName);
     void sltPathChanged(const QString &strNewPath);
     void sltOsTypeChanged();
@@ -140,14 +140,11 @@
         UIGAInstallationGroupBox *m_pGAInstallationISOContainer;
         UIUserNamePasswordGroupBox *m_pUserNamePasswordGroupBox;
-
-
-    QButtonGroup *m_pDiskSourceButtonGroup;
-    QRadioButton *m_pDiskEmpty;
-    QRadioButton *m_pDiskNew;
-    QRadioButton *m_pDiskExisting;
-    UIMediaComboBox *m_pDiskSelector;
-    QIToolButton *m_pDiskSelectionButton;
-
-
+        QButtonGroup *m_pDiskSourceButtonGroup;
+        QRadioButton *m_pDiskEmpty;
+        QRadioButton *m_pDiskNew;
+        QRadioButton *m_pDiskExisting;
+        UIMediaComboBox *m_pDiskSelector;
+        QIToolButton *m_pDiskSelectionButton;
+        QSet<QString> m_userModifiedParameters;
     /** @} */
 };
