Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp	(revision 72544)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.cpp	(revision 72545)
@@ -194,4 +194,6 @@
     /** Cache currently stored values, such as @a finalStates, @a finalValues and @a finalExtraValues. */
     virtual void putBack(QVector<BOOL> &finalStates, QVector<QString> &finalValues, QVector<QString> &finalExtraValues) /* override */;
+
+    KVirtualSystemDescriptionType  systemDescriptionType() const;
 
 private:
@@ -287,5 +289,4 @@
         childItem(i)->putBack(finalStates, finalValues, finalExtraValues);
 }
-
 
 /*********************************************************************************************************************************
@@ -523,5 +524,5 @@
                     case KVirtualSystemDescriptionType_SoundCard:              value = UIIconPool::iconSet(":/sound_16px.png"); break;
                     case KVirtualSystemDescriptionType_BaseFolder:             value = vboxGlobal().icon(QFileIconProvider::Folder); break;
-                    case KVirtualSystemDescriptionType_PrimaryGroup:              value = UIIconPool::iconSet(":/vm_group_name_16px.png"); break;
+                    case KVirtualSystemDescriptionType_PrimaryGroup:           value = UIIconPool::iconSet(":/vm_group_name_16px.png"); break;
                     default: break;
                 }
@@ -918,5 +919,4 @@
             {
                 m_strConfigValue = pComboBox->itemData(pComboBox->currentIndex()).toString();
-                printf("%s\n", qPrintable(pComboBox->itemData(pComboBox->currentIndex()).toString()));
                 fDone = true;
             }
@@ -964,4 +964,9 @@
 }
 
+
+KVirtualSystemDescriptionType  UIVirtualHardwareItem::systemDescriptionType() const
+{
+    return m_enmVSDType;
+}
 
 /*********************************************************************************************************************************
@@ -1162,4 +1167,30 @@
 }
 
+
+void UIApplianceModel::setVirtualSystemBaseFolder(const QString& path)
+{
+    if (!m_pRootItem)
+        return;
+    /* For each Virtual System: */
+    for (int i = 0; i < m_pRootItem->childCount(); ++i)
+    {
+        UIVirtualSystemItem *pVirtualSystem = dynamic_cast<UIVirtualSystemItem*>(m_pRootItem->childItem(i));
+        if (!pVirtualSystem)
+            continue;
+        int iItemCount = pVirtualSystem->childCount();
+        for (int j = 0; j < iItemCount; ++j)
+        {
+            UIVirtualHardwareItem *pHardwareItem = dynamic_cast<UIVirtualHardwareItem*>(pVirtualSystem->childItem(j));
+            if (!pHardwareItem)
+                continue;
+            if (pHardwareItem->systemDescriptionType() != KVirtualSystemDescriptionType_BaseFolder)
+                continue;
+            QVariant data(path);
+            pHardwareItem->setData(ApplianceViewSection_ConfigValue, data, Qt::EditRole);
+            QModelIndex index = createIndex(pHardwareItem->row(), 0, pHardwareItem);
+            emit dataChanged(index, index);
+        }
+    }
+}
 
 /*********************************************************************************************************************************
@@ -1369,8 +1400,8 @@
 
     /* Create layout: */
-    QVBoxLayout *pLayout = new QVBoxLayout(this);
+    m_pLayout = new QVBoxLayout(this);
     {
         /* Configure information layout: */
-        pLayout->setContentsMargins(0, 0, 0, 0);
+        m_pLayout->setContentsMargins(0, 0, 0, 0);
 
         /* Create information pane: */
@@ -1378,8 +1409,8 @@
         {
             /* Create information layout: */
-            QVBoxLayout *pLayoutInformation = new QVBoxLayout(m_pPaneInformation);
+            QVBoxLayout *m_pLayoutInformation = new QVBoxLayout(m_pPaneInformation);
             {
                 /* Configure information layout: */
-                pLayoutInformation->setContentsMargins(0, 0, 0, 0);
+                m_pLayoutInformation->setContentsMargins(0, 0, 0, 0);
 
                 /* Create tree-view: */
@@ -1394,5 +1425,5 @@
 
                     /* Add tree-view into information layout: */
-                    pLayoutInformation->addWidget(m_pTreeViewSettings);
+                    m_pLayoutInformation->addWidget(m_pTreeViewSettings);
                 }
 
@@ -1404,10 +1435,10 @@
 
                     /* Add tree-view into information layout: */
-                    pLayoutInformation->addWidget(m_pCheckBoxReinitMACs);
+                    m_pLayoutInformation->addWidget(m_pCheckBoxReinitMACs);
                 }
             }
 
             /* Add information pane into layout: */
-            pLayout->addWidget(m_pPaneInformation);
+            m_pLayout->addWidget(m_pPaneInformation);
         }
 
@@ -1420,8 +1451,8 @@
 
             /* Create warning layout: */
-            QVBoxLayout *pLayoutWarning = new QVBoxLayout(m_pPaneWarning);
+            QVBoxLayout *m_pLayoutWarning = new QVBoxLayout(m_pPaneWarning);
             {
                 /* Configure warning layout: */
-                pLayoutWarning->setContentsMargins(0, 0, 0, 0);
+                m_pLayoutWarning->setContentsMargins(0, 0, 0, 0);
 
                 /* Create label: */
@@ -1429,5 +1460,5 @@
                 {
                     /* Add label into warning layout: */
-                    pLayoutWarning->addWidget(m_pLabelWarning);
+                    m_pLayoutWarning->addWidget(m_pLabelWarning);
                 }
 
@@ -1441,10 +1472,10 @@
 
                     /* Add text-edit into warning layout: */
-                    pLayoutWarning->addWidget(m_pTextEditWarning);
+                    m_pLayoutWarning->addWidget(m_pTextEditWarning);
                 }
             }
 
             /* Add warning pane into layout: */
-            pLayout->addWidget(m_pPaneWarning);
+            m_pLayout->addWidget(m_pPaneWarning);
         }
     }
@@ -1488,2 +1519,9 @@
     }
 }
+
+void UIApplianceEditorWidget::setVirtualSystemBaseFolder(const QString& path)
+{
+    if (!m_pModel)
+        return;
+    m_pModel->setVirtualSystemBaseFolder(path);
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.h	(revision 72544)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceEditorWidget.h	(revision 72545)
@@ -38,5 +38,5 @@
 class QTextEdit;
 class QITreeView;
-
+class QVBoxLayout;
 
 /** Appliance tree-view section types. */
@@ -101,4 +101,6 @@
     /** Cache currently stored values. */
     void putBack();
+
+    void setVirtualSystemBaseFolder(const QString& path);
 
 private:
@@ -211,8 +213,12 @@
     virtual void retranslateUi() /* override */;
 
+    void setVirtualSystemBaseFolder(const QString& path);
+
     /** Holds the currently set appliance reference. */
     CAppliance         *m_pAppliance;
     /** Holds the Appliance model reference. */
     UIApplianceModel *m_pModel;
+
+    QVBoxLayout *m_pLayout;
 
     /** Holds the information pane instance. */
@@ -246,3 +252,2 @@
 
 #endif /* !___UIApplianceEditorWidget_h___ */
-
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.cpp	(revision 72544)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.cpp	(revision 72545)
@@ -23,13 +23,18 @@
 # include <QCheckBox>
 # include <QTextEdit>
+# include <QVBoxLayout>
 
 /* GUI includes: */
+# include "QIRichTextLabel.h"
 # include "QITreeView.h"
 # include "UIApplianceImportEditorWidget.h"
+# include "UIFilePathSelector.h"
+# include "UIMessageCenter.h"
+# include "UIWizardImportApp.h"
 # include "VBoxGlobal.h"
-# include "UIMessageCenter.h"
 
 /* COM includes: */
 # include "CAppliance.h"
+# include "CSystemProperties.h"
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
@@ -57,4 +62,21 @@
     /* Show the MAC check box */
     m_pCheckBoxReinitMACs->setHidden(false);
+
+    m_pPathSelectorLabel = new QIRichTextLabel(this);
+    if (m_pPathSelectorLabel)
+    {
+        m_pLayout->addWidget(m_pPathSelectorLabel);
+    }
+    m_pPathSelector = new UIFilePathSelector(this);
+    if (m_pPathSelector)
+    {
+        m_pPathSelector->setResetEnabled(true);
+        m_pPathSelector->setDefaultPath(vboxGlobal().virtualBox().GetSystemProperties().GetDefaultMachineFolder());
+        m_pPathSelector->setPath(vboxGlobal().virtualBox().GetSystemProperties().GetDefaultMachineFolder());
+        connect(m_pPathSelector, &UIFilePathSelector::pathChanged, this, &UIApplianceImportEditorWidget::sltHandlePathChanged);
+        m_pLayout->addWidget(m_pPathSelector);
+    }
+    m_pLayout->addStretch();
+    retranslateUi();
 }
 
@@ -137,4 +159,8 @@
         }
     }
+    /* Make sure we initialize model items with correct base folder path: */
+    if (m_pPathSelector)
+        sltHandlePathChanged(m_pPathSelector->path());
+
     return fResult;
 }
@@ -199,2 +225,15 @@
 }
 
+void UIApplianceImportEditorWidget::retranslateUi()
+{
+    UIApplianceEditorWidget::retranslateUi();
+    m_pPathSelectorLabel->setText(UIWizardImportApp::tr("You can modify the base folder which will host "
+                                                        "all the virtual machines. Virtual home folders "
+                                                        "can also be individually modified."));
+
+}
+
+void UIApplianceImportEditorWidget::sltHandlePathChanged(const QString &newPath)
+{
+    setVirtualSystemBaseFolder(newPath);
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.h	(revision 72544)
+++ trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIApplianceImportEditorWidget.h	(revision 72545)
@@ -22,4 +22,8 @@
 #include "UIApplianceEditorWidget.h"
 
+/* Forward declarations: */
+class UIFilePathSelector;
+class QIRichTextLabel;
+
 class UIApplianceImportEditorWidget: public UIApplianceEditorWidget
 {
@@ -34,6 +38,18 @@
 
     QList<QPair<QString, QString> > licenseAgreements() const;
+
+protected:
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */;
+
+private slots:
+
+    void sltHandlePathChanged(const QString &newPath);
+
+private:
+
+    QIRichTextLabel    *m_pPathSelectorLabel;
+    UIFilePathSelector *m_pPathSelector;
 };
 
 #endif /* __UIApplianceImportEditorWidget_h__ */
-
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic2.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic2.cpp	(revision 72544)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic2.cpp	(revision 72545)
@@ -21,15 +21,15 @@
 
 /* Global includes: */
+# include <QLabel>
+# include <QPointer>
+# include <QPushButton>
+# include <QTextBrowser>
 # include <QVBoxLayout>
-# include <QTextBrowser>
-# include <QPushButton>
-# include <QPointer>
-# include <QLabel>
 
 /* Local includes: */
+# include "QIDialogButtonBox.h"
+# include "QIRichTextLabel.h"
+# include "UIWizardImportApp.h"
 # include "UIWizardImportAppPageBasic2.h"
-# include "UIWizardImportApp.h"
-# include "QIRichTextLabel.h"
-# include "QIDialogButtonBox.h"
 
 /* COM includes: */
@@ -296,3 +296,2 @@
     m_pTextBrowser->setText(QString("<table>%1</table>").arg(strTableContent));
 }
-
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic2.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic2.h	(revision 72544)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic2.h	(revision 72545)
@@ -113,3 +113,2 @@
 
 #endif /* !___UIWizardImportAppPageBasic2_h___ */
-
