Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp	(revision 79579)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.cpp	(revision 79580)
@@ -27,6 +27,11 @@
 
 
-UIWizardNewCloudVM::UIWizardNewCloudVM(QWidget *pParent)
+UIWizardNewCloudVM::UIWizardNewCloudVM(QWidget *pParent,
+                                       const CCloudClient &comClient /* = CCloudClient() */,
+                                       const CVirtualSystemDescription &comDescription /* = CVirtualSystemDescription() */)
     : UIWizard(pParent, WizardType_NewCloudVM)
+    , m_comClient(comClient)
+    , m_comVSD(comDescription)
+    , m_fFullWizard(m_comClient.isNull() || m_comVSD.isNull())
 {
 #ifndef VBOX_WS_MAC
@@ -46,11 +51,12 @@
         case WizardMode_Basic:
         {
-            setPage(Page1, new UIWizardNewCloudVMPageBasic1);
-            setPage(Page2, new UIWizardNewCloudVMPageBasic2);
+            if (m_fFullWizard)
+                setPage(Page1, new UIWizardNewCloudVMPageBasic1);
+            setPage(Page2, new UIWizardNewCloudVMPageBasic2(m_fFullWizard));
             break;
         }
         case WizardMode_Expert:
         {
-            setPage(PageExpert, new UIWizardNewCloudVMPageExpert);
+            setPage(PageExpert, new UIWizardNewCloudVMPageExpert(m_fFullWizard));
             break;
         }
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.h	(revision 79579)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVM.h	(revision 79580)
@@ -51,6 +51,10 @@
     };
 
-    /** Constructs new cloud vm wizard passing @a pParent to the base-class. */
-    UIWizardNewCloudVM(QWidget *pParent);
+    /** Constructs New Cloud VM wizard passing @a pParent to the base-class.
+      * @param  comClient       Brings the Cloud Client object to work with.
+      * @param  comDescription  Brings the Virtual System Description object to use. */
+    UIWizardNewCloudVM(QWidget *pParent,
+                       const CCloudClient &comClient = CCloudClient(),
+                       const CVirtualSystemDescription &comDescription = CVirtualSystemDescription());
 
     /** Prepares all. */
@@ -91,4 +95,7 @@
     /** Holds the Virtual System Description Form object reference. */
     CVirtualSystemDescriptionForm  m_comVSDForm;
+
+    /** Holds whether we want full wizard form or short one. */
+    bool  m_fFullWizard;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.cpp	(revision 79579)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.cpp	(revision 79580)
@@ -31,5 +31,7 @@
 *********************************************************************************************************************************/
 
-UIWizardNewCloudVMPage2::UIWizardNewCloudVMPage2()
+UIWizardNewCloudVMPage2::UIWizardNewCloudVMPage2(bool fFullWizard)
+    : m_fFullWizard(fFullWizard)
+    , m_fPolished(false)
 {
 }
@@ -54,5 +56,6 @@
 *********************************************************************************************************************************/
 
-UIWizardNewCloudVMPageBasic2::UIWizardNewCloudVMPageBasic2()
+UIWizardNewCloudVMPageBasic2::UIWizardNewCloudVMPageBasic2(bool fFullWizard)
+    : UIWizardNewCloudVMPage2(fFullWizard)
 {
     /* Create main layout: */
@@ -92,4 +95,15 @@
 void UIWizardNewCloudVMPageBasic2::initializePage()
 {
+    /* If wasn't polished yet: */
+    if (!m_fPolished)
+    {
+        if (!m_fFullWizard)
+        {
+            /* Generate VSD form, asynchronously: */
+            QMetaObject::invokeMethod(this, "sltInitShortWizardForm", Qt::QueuedConnection);
+        }
+        m_fPolished = true;
+    }
+
     /* Refresh form properties: */
     refreshFormPropertiesTable();
@@ -131,2 +145,11 @@
     return fResult;
 }
+
+void UIWizardNewCloudVMPageBasic2::sltInitShortWizardForm()
+{
+    /* Create Virtual System Description Form: */
+    qobject_cast<UIWizardNewCloudVM*>(wizardImp())->createVSDForm();
+
+    /* Refresh form properties table: */
+    refreshFormPropertiesTable();
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.h	(revision 79579)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageBasic2.h	(revision 79580)
@@ -35,5 +35,5 @@
 
     /** Constructs 2nd page base. */
-    UIWizardNewCloudVMPage2();
+    UIWizardNewCloudVMPage2(bool fFullWizard);
 
     /** Refreshes form properties table. */
@@ -42,4 +42,9 @@
     /** Returns Virtual System Description Form object. */
     CVirtualSystemDescriptionForm vsdForm() const;
+
+    /** Holds whether wizard should be in full form. */
+    bool  m_fFullWizard;
+    /** Holds whether starting page was polished. */
+    bool  m_fPolished;
 
     /** Holds the Form Editor widget instance. */
@@ -55,5 +60,5 @@
 
     /** Constructs 2nd basic page. */
-    UIWizardNewCloudVMPageBasic2();
+    UIWizardNewCloudVMPageBasic2(bool fFullWizard);
 
 protected:
@@ -71,4 +76,9 @@
     virtual bool validatePage() /* override */;
 
+private slots:
+
+    /** Initializes short wizard form. */
+    void sltInitShortWizardForm();
+
 private:
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp	(revision 79579)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.cpp	(revision 79580)
@@ -33,6 +33,7 @@
 
 
-UIWizardNewCloudVMPageExpert::UIWizardNewCloudVMPageExpert()
-    : m_pCntDestination(0)
+UIWizardNewCloudVMPageExpert::UIWizardNewCloudVMPageExpert(bool fFullWizard)
+    : UIWizardNewCloudVMPage2(fFullWizard)
+    , m_pCntDestination(0)
     , m_pSettingsCnt(0)
 {
@@ -45,4 +46,8 @@
         if (m_pCntDestination)
         {
+            /* There is no destination table in short wizard form: */
+            if (!m_fFullWizard)
+                m_pCntDestination->setVisible(false);
+
             /* Create destination layout: */
             m_pDestinationLayout = new QGridLayout(m_pCntDestination);
@@ -219,11 +224,20 @@
 {
     /* If wasn't polished yet: */
-    if (!m_fPolished)
-    {
-        /* Populate destinations: */
-        populateDestinations();
-        /* Choose one of them, asynchronously: */
-        QMetaObject::invokeMethod(this, "sltHandleDestinationChange", Qt::QueuedConnection);
-        m_fPolished = true;
+    if (!UIWizardNewCloudVMPage1::m_fPolished || !UIWizardNewCloudVMPage2::m_fPolished)
+    {
+        if (m_fFullWizard)
+        {
+            /* Populate destinations: */
+            populateDestinations();
+            /* Choose one of them, asynchronously: */
+            QMetaObject::invokeMethod(this, "sltHandleDestinationChange", Qt::QueuedConnection);
+        }
+        else
+        {
+            /* Generate VSD form, asynchronously: */
+            QMetaObject::invokeMethod(this, "sltInitShortWizardForm", Qt::QueuedConnection);
+        }
+        UIWizardNewCloudVMPage1::m_fPolished = true;
+        UIWizardNewCloudVMPage2::m_fPolished = true;
     }
 
@@ -321,2 +335,11 @@
     emit completeChanged();
 }
+
+void UIWizardNewCloudVMPageExpert::sltInitShortWizardForm()
+{
+    /* Create Virtual System Description Form: */
+    qobject_cast<UIWizardNewCloudVM*>(wizardImp())->createVSDForm();
+
+    /* Refresh form properties table: */
+    refreshFormPropertiesTable();
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h	(revision 79579)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/newcloudvm/UIWizardNewCloudVMPageExpert.h	(revision 79580)
@@ -39,5 +39,5 @@
 
     /** Constructs expert page. */
-    UIWizardNewCloudVMPageExpert();
+    UIWizardNewCloudVMPageExpert(bool fFullWizard);
 
 protected:
@@ -74,4 +74,7 @@
     void sltHandleInstanceListChange();
 
+    /** Initializes short wizard form. */
+    void sltInitShortWizardForm();
+
 private:
 
