Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppDefs.h	(revision 78045)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppDefs.h	(revision 78046)
@@ -33,3 +33,12 @@
 Q_DECLARE_METATYPE(ImportAppliancePointer);
 
+/** Import source types. */
+enum ImportSourceType
+{
+    ImportSourceType_Invalid,
+    ImportSourceType_Local,
+    ImportSourceType_Cloud
+};
+Q_DECLARE_METATYPE(ImportSourceType);
+
 #endif /* !FEQT_INCLUDED_SRC_wizards_importappliance_UIWizardImportAppDefs_h */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic1.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic1.cpp	(revision 78045)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic1.cpp	(revision 78046)
@@ -18,7 +18,10 @@
 /* Qt includes: */
 #include <QFileInfo>
+#include <QLabel>
+#include <QStackedLayout>
 #include <QVBoxLayout>
 
 /* GUI includes: */
+#include "QIComboBox.h"
 #include "QIRichTextLabel.h"
 #include "VBoxGlobal.h"
@@ -30,9 +33,28 @@
 
 /*********************************************************************************************************************************
+*   Namespace ImportSourceTypeConverter implementation.                                                                          *
+*********************************************************************************************************************************/
+
+QString ImportSourceTypeConverter::toString(ImportSourceType enmType)
+{
+    switch (enmType)
+    {
+        case ImportSourceType_Local: return QApplication::translate("UIWizardImportApp", "Local File System");
+        case ImportSourceType_Cloud: return QApplication::translate("UIWizardImportApp", "Cloud Content Provider");
+        default: break;
+    }
+    return QString();
+}
+
+
+/*********************************************************************************************************************************
 *   Class UIWizardImportAppPage1 implementation.                                                                                 *
 *********************************************************************************************************************************/
 
 UIWizardImportAppPage1::UIWizardImportAppPage1()
-    : m_pFileSelector(0)
+    : m_pSourceLabel(0)
+    , m_pSourceSelector(0)
+    , m_pStackedLayout(0)
+    , m_pFileSelector(0)
 {
 }
@@ -58,15 +80,96 @@
         }
 
-        /* Create file-path selector: */
-        m_pFileSelector = new UIEmptyFilePathSelector(this);
-        if (m_pFileSelector)
+        /* Create source selector layout: */
+        QHBoxLayout *pSourceSelectorLayout = new QHBoxLayout;
+        if (pSourceSelectorLayout)
         {
-            m_pFileSelector->setHomeDir(vboxGlobal().documentsPath());
-            m_pFileSelector->setMode(UIEmptyFilePathSelector::Mode_File_Open);
-            m_pFileSelector->setButtonPosition(UIEmptyFilePathSelector::RightPosition);
-            m_pFileSelector->setEditable(true);
+            /* Create source label: */
+            m_pSourceLabel = new QLabel(this);
+            if (m_pSourceLabel)
+            {
+                m_pSourceLabel->hide();
+                m_pSourceLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
+                m_pSourceLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
+
+                /* Add into layout: */
+                pSourceSelectorLayout->addWidget(m_pSourceLabel);
+            }
+
+            /* Create source selector: */
+            m_pSourceSelector = new QIComboBox(this);
+            if (m_pSourceSelector)
+            {
+                m_pSourceLabel->setBuddy(m_pSourceSelector);
+                m_pSourceSelector->hide();
+                m_pSourceSelector->addItem(QString(), QVariant::fromValue(ImportSourceType_Local));
+                m_pSourceSelector->addItem(QString(), QVariant::fromValue(ImportSourceType_Cloud));
+                connect(m_pSourceSelector, static_cast<void(QIComboBox::*)(int)>(&QIComboBox::activated),
+                        this, static_cast<void(UIWizardImportAppPageBasic1::*)(int)>(&UIWizardImportAppPageBasic1::sltHandleSourceChange));
+
+                /* Add into layout: */
+                pSourceSelectorLayout->addWidget(m_pSourceSelector);
+            }
 
             /* Add into layout: */
-            pMainLayout->addWidget(m_pFileSelector);
+            pMainLayout->addLayout(pSourceSelectorLayout);
+        }
+
+        /* Create stacked layout: */
+        m_pStackedLayout = new QStackedLayout;
+        if (m_pStackedLayout)
+        {
+            /* Create local container: */
+            QWidget *pLocalContainer = new QWidget(this);
+            if (pLocalContainer)
+            {
+                /* Create local container layout: */
+                QVBoxLayout *pLocalContainerLayout = new QVBoxLayout(pLocalContainer);
+                if (pLocalContainerLayout)
+                {
+                    pLocalContainerLayout->setContentsMargins(0, 0, 0, 0);
+                    pLocalContainerLayout->setSpacing(0);
+
+                    /* Create file-path selector: */
+                    m_pFileSelector = new UIEmptyFilePathSelector(this);
+                    if (m_pFileSelector)
+                    {
+                        m_pFileSelector->setHomeDir(vboxGlobal().documentsPath());
+                        m_pFileSelector->setMode(UIEmptyFilePathSelector::Mode_File_Open);
+                        m_pFileSelector->setButtonPosition(UIEmptyFilePathSelector::RightPosition);
+                        m_pFileSelector->setEditable(true);
+
+                        /* Add into layout: */
+                        pLocalContainerLayout->addWidget(m_pFileSelector);
+                    }
+
+                    /* Add stretch: */
+                    pLocalContainerLayout->addStretch();
+                }
+
+                /* Add into layout: */
+                m_stackedLayoutIndexMap[ImportSourceType_Local] = m_pStackedLayout->addWidget(pLocalContainer);
+            }
+
+            /* Create cloud container: */
+            QWidget *pCloudContainer = new QWidget(this);
+            if (pCloudContainer)
+            {
+                /* Create cloud container layout: */
+                QVBoxLayout *pCloudContainerLayout = new QVBoxLayout(pCloudContainer);
+                if (pCloudContainerLayout)
+                {
+                    pCloudContainerLayout->setContentsMargins(0, 0, 0, 0);
+                    pCloudContainerLayout->setSpacing(0);
+
+                    /* Add stretch: */
+                    pCloudContainerLayout->addStretch();
+                }
+
+                /* Add into layout: */
+                m_stackedLayoutIndexMap[ImportSourceType_Cloud] = m_pStackedLayout->addWidget(pCloudContainer);
+            }
+
+            /* Add into layout: */
+            pMainLayout->addLayout(m_pStackedLayout);
         }
 
@@ -77,4 +180,9 @@
     /* Setup connections: */
     connect(m_pFileSelector, &UIEmptyFilePathSelector::pathChanged, this, &UIWizardImportAppPageBasic1::completeChanged);
+}
+
+void UIWizardImportAppPageBasic1::sltHandleSourceChange(int iIndex)
+{
+    m_pStackedLayout->setCurrentIndex(m_stackedLayoutIndexMap.value(m_pSourceSelector->itemData(iIndex).value<ImportSourceType>()));
 }
 
@@ -88,4 +196,9 @@
                                             "saved in the Open Virtualization Format (OVF). "
                                             "To continue, select the file to import below.</p>"));
+
+    /* Translate source selector: */
+    m_pSourceLabel->setText(tr("Source:"));
+    for (int i = 0; i < m_pSourceSelector->count(); ++i)
+        m_pSourceSelector->setItemText(i, ImportSourceTypeConverter::toString(m_pSourceSelector->itemData(i).value<ImportSourceType>()));
 
     /* Translate file selector: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic1.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic1.h	(revision 78045)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/importappliance/UIWizardImportAppPageBasic1.h	(revision 78046)
@@ -23,9 +23,20 @@
 
 /* GUI includes: */
+#include "UIWizardImportAppDefs.h"
 #include "UIWizardPage.h"
 
 /* Forward declarations: */
+class QLabel;
+class QStackedLayout;
+class QIComboBox;
 class QIRichTextLabel;
 class UIEmptyFilePathSelector;
+
+/** Source type converter namespace. */
+namespace ImportSourceTypeConverter
+{
+    /** Converts QString <= ImportSourceType. */
+    QString toString(ImportSourceType enmType);
+}
 
 /** UIWizardPageBase extension for 1st page of the Import Appliance wizard. */
@@ -36,4 +47,14 @@
     /** Constructs 1st page base. */
     UIWizardImportAppPage1();
+
+    /** Holds the source type label instance. */
+    QLabel     *m_pSourceLabel;
+    /** Holds the source type selector instance. */
+    QIComboBox *m_pSourceSelector;
+
+    /** Holds the stacked layout instance. */
+    QStackedLayout              *m_pStackedLayout;
+    /** Holds the stacked layout widget indexes map. */
+    QMap<ImportSourceType, int>  m_stackedLayoutIndexMap;
 
     /** Holds the file selector instance. */
@@ -50,4 +71,9 @@
     /** Constructs 1st basic page. */
     UIWizardImportAppPageBasic1();
+
+private slots:
+
+    /** Handles change of import source to one with specified @a iIndex. */
+    void sltHandleSourceChange(int iIndex);
 
 private:
