Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.cpp	(revision 74609)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.cpp	(revision 74610)
@@ -22,4 +22,5 @@
 /* Qt includes: */
 # include <QCheckBox>
+# include <QGridLayout>
 # include <QLabel>
 # include <QTextEdit>
@@ -62,7 +63,8 @@
     , m_pPathSelectorLabel(0)
     , m_pPathSelector(0)
-    , m_pCheckBoxReinitMACs(0)
     , m_pImportHDsAsVDI(0)
-
+    , m_pMACComboBoxLabel(0)
+    , m_pMACComboBox(0)
+    , m_pOptionsLayout(0)
 {
     prepareWidgets();
@@ -85,15 +87,38 @@
         m_pLayout->addWidget(m_pPathSelector);
     }
-    m_pCheckBoxReinitMACs = new QCheckBox;
-    {
-        m_pLayout->addWidget(m_pCheckBoxReinitMACs);
-    }
+
+    m_pOptionsLayout = new QGridLayout;
+
+    m_pMACComboBox = new QComboBox;
+    if (m_pMACComboBox)
+    {
+        m_pMACComboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::QSizePolicy::Preferred);
+        /* Add into layout: */
+        m_pOptionsLayout->addWidget(m_pMACComboBox, 0, 1);
+    }
+
+        /* Create format combo-box label: */
+    m_pMACComboBoxLabel = new QLabel;
+    if (m_pMACComboBoxLabel)
+    {
+        m_pMACComboBoxLabel->setAlignment(Qt::AlignLeft | Qt::AlignTrailing | Qt::AlignVCenter);
+        /* Add into layout: */
+        m_pOptionsLayout->addWidget(m_pMACComboBoxLabel, 0, 0);
+    }
+
+    if (m_pMACComboBoxLabel)
+        m_pMACComboBoxLabel->setBuddy(m_pMACComboBox);
 
     m_pImportHDsAsVDI = new QCheckBox;
     {
-        m_pLayout->addWidget(m_pImportHDsAsVDI);
+        m_pOptionsLayout->addWidget(m_pImportHDsAsVDI, 2, 1);
         m_pImportHDsAsVDI->setCheckState(Qt::Checked);
     }
 
+
+    m_pLayout->addLayout(m_pOptionsLayout);
+    populateMACAddressImportPolicies();
+    connect(m_pMACComboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
+            this, &UIApplianceImportEditorWidget::sltHandleMACAddressImportPolicyComboChange);
     retranslateUi();
 }
@@ -197,6 +222,20 @@
         CProgress progress;
         QVector<KImportOptions> options;
-        if (!m_pCheckBoxReinitMACs->isChecked())
-            options.append(KImportOptions_KeepAllMACs);
+        if (m_pMACComboBox)
+        {
+            MACAddressImportPolicy macPolicy = static_cast<MACAddressImportPolicy>(m_pMACComboBox->currentIndex());
+            switch (macPolicy)
+            {
+                case MACAddressImportPolicy_KeepAllMACs:
+                    options.append(KImportOptions_KeepAllMACs);
+                    break;
+                case MACAddressImportPolicy_KeepNATMACs:
+                    options.append(KImportOptions_KeepNATMACs);
+                    break;
+                default:
+                    break;
+            }
+        }
+
         if (m_pImportHDsAsVDI->isChecked())
             options.append(KImportOptions_ImportToVDI);
@@ -251,10 +290,4 @@
         m_pPathSelectorLabel->setText(UIWizardImportApp::tr("You can modify the base folder which will host all the virtual machines.\n"
                                                             "Home folders can also be individually (per virtual machine)  modified."));
-    if (m_pCheckBoxReinitMACs)
-    {
-        m_pCheckBoxReinitMACs->setText(tr("&Reinitialize the MAC address of all network cards"));
-        m_pCheckBoxReinitMACs->setToolTip(tr("When checked a new unique MAC address will assigned to all configured network cards."));
-    }
-
     if (m_pImportHDsAsVDI)
     {
@@ -262,4 +295,22 @@
         m_pImportHDsAsVDI->setToolTip(tr("When checked a all the hard drives that belong to this appliance will be imported in VDI format"));
     }
+
+    /* Translate MAC address policy combo-box: */
+    m_pMACComboBoxLabel->setText(tr("MAC Address &Policy:"));
+    m_pMACComboBox->setItemText(MACAddressImportPolicy_KeepAllMACs,
+                                tr("Include all network adapter MAC addresses"));
+    m_pMACComboBox->setItemText(MACAddressImportPolicy_KeepNATMACs,
+                                tr("Include only NAT network adapter MAC addresses"));
+    m_pMACComboBox->setItemText(MACAddressImportPolicy_StripAllMACs,
+                                tr("Generate new MAC addresses for all network adapters"));
+    m_pMACComboBox->setItemData(MACAddressImportPolicy_KeepAllMACs,
+                                tr("Include all network adapter MAC addresses in exported "
+                                                    "during cloning."), Qt::ToolTipRole);
+    m_pMACComboBox->setItemData(MACAddressImportPolicy_KeepNATMACs,
+                                tr("Include only NAT network adapter MAC addresses "
+                                                    "during cloning."), Qt::ToolTipRole);
+    m_pMACComboBox->setItemData(MACAddressImportPolicy_StripAllMACs,
+                                tr("Generate new MAC addresses for all network adapters "
+                                                    "during cloning."), Qt::ToolTipRole);
 }
 
@@ -268,2 +319,38 @@
     setVirtualSystemBaseFolder(newPath);
 }
+
+void UIApplianceImportEditorWidget::populateMACAddressImportPolicies()
+{
+    AssertReturnVoid(m_pMACComboBox->count() == 0);
+
+    /* Apply hardcoded policies list: */
+    for (int i = 0; i < (int)MACAddressImportPolicy_MAX; ++i)
+    {
+        m_pMACComboBox->addItem(QString::number(i));
+        m_pMACComboBox->setItemData(i, i);
+    }
+
+    /* Set default: */
+    setMACAddressImportPolicy(MACAddressImportPolicy_KeepNATMACs);
+}
+
+void UIApplianceImportEditorWidget::setMACAddressImportPolicy(MACAddressImportPolicy enmMACAddressImportPolicy)
+{
+    const int iIndex = m_pMACComboBox->findData((int)enmMACAddressImportPolicy);
+    AssertMsg(iIndex != -1, ("Data not found!"));
+    m_pMACComboBox->setCurrentIndex(iIndex);
+}
+
+void UIApplianceImportEditorWidget::sltHandleMACAddressImportPolicyComboChange()
+{
+    /* Update tool-tip: */
+    updateMACAddressImportPolicyComboToolTip();
+}
+
+void UIApplianceImportEditorWidget::updateMACAddressImportPolicyComboToolTip()
+{
+    const int iCurrentIndex = m_pMACComboBox->currentIndex();
+    const QString strCurrentToolTip = m_pMACComboBox->itemData(iCurrentIndex, Qt::ToolTipRole).toString();
+    AssertMsg(!strCurrentToolTip.isEmpty(), ("Data not found!"));
+    m_pMACComboBox->setToolTip(strCurrentToolTip);
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.h	(revision 74609)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.h	(revision 74610)
@@ -25,4 +25,15 @@
 class UIFilePathSelector;
 class QIRichTextLabel;
+class QComboBox;
+class QGridLayout;
+
+/** MAC address policies. */
+enum MACAddressImportPolicy
+{
+    MACAddressImportPolicy_KeepAllMACs,
+    MACAddressImportPolicy_KeepNATMACs,
+    MACAddressImportPolicy_StripAllMACs,
+    MACAddressImportPolicy_MAX
+};
 
 class UIApplianceImportEditorWidget: public UIApplianceEditorWidget
@@ -45,17 +56,22 @@
 private slots:
 
-    void sltHandlePathChanged(const QString &newPath);
+    void    sltHandlePathChanged(const QString &newPath);
 
 private:
 
-    void      prepareWidgets();
+    void    prepareWidgets();
+    /** Populates MAC address policies. */
+    void    populateMACAddressImportPolicies();
+    void    setMACAddressImportPolicy(MACAddressImportPolicy enmMACAddressImportPolicy);
+    void    sltHandleMACAddressImportPolicyComboChange();
+    void    updateMACAddressImportPolicyComboToolTip();
+
     QIRichTextLabel    *m_pPathSelectorLabel;
     UIFilePathSelector *m_pPathSelector;
-
-    /** Holds the 'reinit MACs' check-box instance. */
-    QCheckBox *m_pCheckBoxReinitMACs;
-    /** Holds the checkbox that controls 'imprt HDs as VDI' behaviour. */
-    QCheckBox *m_pImportHDsAsVDI;
-
+    /** Holds the checkbox that controls 'import HDs as VDI' behaviour. */
+    QCheckBox          *m_pImportHDsAsVDI;
+    QLabel             *m_pMACComboBoxLabel;
+    QComboBox          *m_pMACComboBox;
+    QGridLayout        *m_pOptionsLayout;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageExpert.cpp	(revision 74609)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageExpert.cpp	(revision 74610)
@@ -136,3 +136,2 @@
     return fResult;
 }
-
