Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.cpp	(revision 84288)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.cpp	(revision 84289)
@@ -21,4 +21,5 @@
 #include <QLabel>
 #include <QListWidget>
+#include <QTabBar>
 #include <QTableWidget>
 #include <QVBoxLayout>
@@ -52,4 +53,5 @@
     , m_pAccountPropertyTable(0)
     , m_pSourceImageLabel(0)
+    , m_pSourceTabBar(0)
     , m_pSourceImageList(0)
 {
@@ -301,6 +303,23 @@
                                                              << KCloudImageState_Available;
 
-            /* Ask for cloud custom images: */
-            CProgress comProgress = comCloudClient.ListImages(cloudImageStates, comNames, comIDs);
+            /* Depending on current source tab-bar index: */
+            CProgress comProgress;
+            switch (m_pSourceTabBar->currentIndex())
+            {
+                case 0:
+                {
+                    /* Ask for cloud boot-volumes: */
+                    comProgress = comCloudClient.ListBootVolumes(comNames, comIDs);
+                    break;
+                }
+                case 1:
+                {
+                    /* Ask for cloud images: */
+                    comProgress = comCloudClient.ListImages(cloudImageStates, comNames, comIDs);
+                    break;
+                }
+                default:
+                    break;
+            }
             if (!comCloudClient.isOk())
             {
@@ -387,6 +406,22 @@
             setVSD(comVSD);
 
-            /* Add image id to virtual system description: */
-            comVSD.AddDescription(KVirtualSystemDescriptionType_CloudImageId, imageId(), QString());
+            /* Depending on current source tab-bar index: */
+            switch (m_pSourceTabBar->currentIndex())
+            {
+                case 0:
+                {
+                    /* Add boot-volume id to virtual system description: */
+                    comVSD.AddDescription(KVirtualSystemDescriptionType_CloudBootVolumeId, imageId(), QString());
+                    break;
+                }
+                case 1:
+                {
+                    /* Add image id to virtual system description: */
+                    comVSD.AddDescription(KVirtualSystemDescriptionType_CloudImageId, imageId(), QString());
+                    break;
+                }
+                default:
+                    break;
+            }
             if (!comVSD.isOk())
             {
@@ -641,20 +676,44 @@
                 m_pOptionsLayout->addWidget(m_pSourceImageLabel, 2, 0, Qt::AlignRight);
             }
-            /* Create source image list: */
-            m_pSourceImageList = new QListWidget(this);
-            if (m_pSourceImageList)
-            {
-                m_pSourceImageLabel->setBuddy(m_pSourceImageList);
-                const QFontMetrics fm(m_pSourceImageList->font());
-                const int iFontWidth = fm.width('x');
-                const int iTotalWidth = 50 * iFontWidth;
-                const int iFontHeight = fm.height();
-                const int iTotalHeight = 4 * iFontHeight;
-                m_pSourceImageList->setMinimumSize(QSize(iTotalWidth, iTotalHeight));
-                //m_pSourceImageList->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
-                m_pSourceImageList->setAlternatingRowColors(true);
+            /* Create source image layout: */
+            QVBoxLayout *pSourceImageLayout = new QVBoxLayout;
+            if (pSourceImageLayout)
+            {
+                pSourceImageLayout->setSpacing(0);
+                pSourceImageLayout->setContentsMargins(0, 0, 0, 0);
+
+                /* Create source tab-bar: */
+                m_pSourceTabBar = new QTabBar(this);
+                if (m_pSourceTabBar)
+                {
+                    m_pSourceTabBar->addTab(QString());
+                    m_pSourceTabBar->addTab(QString());
+                    connect(m_pSourceTabBar, &QTabBar::currentChanged,
+                            this, &UIWizardNewCloudVMPageBasic1::sltHandleSourceChange);
+
+                    /* Add into layout: */
+                    pSourceImageLayout->addWidget(m_pSourceTabBar);
+                }
+
+                /* Create source image list: */
+                m_pSourceImageList = new QListWidget(this);
+                if (m_pSourceImageList)
+                {
+                    m_pSourceImageLabel->setBuddy(m_pSourceImageList);
+                    const QFontMetrics fm(m_pSourceImageList->font());
+                    const int iFontWidth = fm.width('x');
+                    const int iTotalWidth = 50 * iFontWidth;
+                    const int iFontHeight = fm.height();
+                    const int iTotalHeight = 4 * iFontHeight;
+                    m_pSourceImageList->setMinimumSize(QSize(iTotalWidth, iTotalHeight));
+                    //m_pSourceImageList->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+                    m_pSourceImageList->setAlternatingRowColors(true);
+
+                    /* Add into layout: */
+                    pSourceImageLayout->addWidget(m_pSourceImageList);
+                }
 
                 /* Add into layout: */
-                m_pOptionsLayout->addWidget(m_pSourceImageList, 2, 1, 2, 1);
+                m_pOptionsLayout->addLayout(pSourceImageLayout, 2, 1, 2, 1);
             }
 
@@ -731,4 +790,8 @@
     m_pSourceImageLabel->setText(UIWizardNewCloudVM::tr("&Source:"));
 
+    /* Translate source tab-bar: */
+    m_pSourceTabBar->setTabText(0, UIWizardNewCloudVM::tr("&Boot Volumes"));
+    m_pSourceTabBar->setTabText(1, UIWizardNewCloudVM::tr("&Images"));
+
     /* Adjust label widths: */
     QList<QWidget*> labels;
@@ -820,2 +883,9 @@
         gpManager->openCloudProfileManager();
 }
+
+void UIWizardNewCloudVMPageBasic1::sltHandleSourceChange()
+{
+    /* Refresh required settings: */
+    populateSourceImages();
+    emit completeChanged();
+}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.h	(revision 84288)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic1.h	(revision 84289)
@@ -38,4 +38,5 @@
 class QLabel;
 class QListWidget;
+class QTabBar;
 class QTableWidget;
 class QIComboBox;
@@ -135,4 +136,6 @@
     /** Holds the source image label instance. */
     QLabel       *m_pSourceImageLabel;
+    /** Holds the source tab-bar instance. */
+    QTabBar      *m_pSourceTabBar;
     /** Holds the source image list instance. */
     QListWidget  *m_pSourceImageList;
@@ -181,4 +184,7 @@
     /** Handles account tool-button click. */
     void sltHandleAccountButtonClick();
+
+    /** Handles change in source tab-bar. */
+    void sltHandleSourceChange();
 
 private:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp	(revision 84288)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp	(revision 84289)
@@ -20,4 +20,5 @@
 #include <QHeaderView>
 #include <QListWidget>
+#include <QTabBar>
 #include <QTableWidget>
 #include <QVBoxLayout>
@@ -43,4 +44,7 @@
     if (pMainLayout)
     {
+        pMainLayout->setRowStretch(0, 0);
+        pMainLayout->setRowStretch(1, 1);
+
         /* Create location container: */
         m_pCntLocation = new QGroupBox(this);
@@ -129,4 +133,19 @@
             if (pSourceLayout)
             {
+                pSourceLayout->setSpacing(0);
+
+                /* Create source tab-bar: */
+                m_pSourceTabBar = new QTabBar(this);
+                if (m_pSourceTabBar)
+                {
+                    m_pSourceTabBar->addTab(QString());
+                    m_pSourceTabBar->addTab(QString());
+                    connect(m_pSourceTabBar, &QTabBar::currentChanged,
+                            this, &UIWizardNewCloudVMPageExpert::sltHandleSourceChange);
+
+                    /* Add into layout: */
+                    pSourceLayout->addWidget(m_pSourceTabBar);
+                }
+
                 /* Create source image list: */
                 m_pSourceImageList = new QListWidget(m_pCntSource);
@@ -234,4 +253,8 @@
     m_pCntSource->setTitle(UIWizardNewCloudVM::tr("Source"));
 
+    /* Translate source tab-bar: */
+    m_pSourceTabBar->setTabText(0, UIWizardNewCloudVM::tr("&Boot Volumes"));
+    m_pSourceTabBar->setTabText(1, UIWizardNewCloudVM::tr("&Images"));
+
     /* Translate settings container: */
     m_pSettingsCnt->setTitle(UIWizardNewCloudVM::tr("Settings"));
@@ -354,4 +377,13 @@
 }
 
+void UIWizardNewCloudVMPageExpert::sltHandleSourceChange()
+{
+    /* Refresh required settings: */
+    populateSourceImages();
+    populateFormProperties();
+    refreshFormPropertiesTable();
+    emit completeChanged();
+}
+
 void UIWizardNewCloudVMPageExpert::sltHandleInstanceListChange()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h	(revision 84288)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h	(revision 84289)
@@ -73,4 +73,7 @@
     void sltHandleAccountButtonClick();
 
+    /** Handles change in source tab-bar. */
+    void sltHandleSourceChange();
+
     /** Handles change in instance list. */
     void sltHandleInstanceListChange();
