Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp	(revision 73234)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.cpp	(revision 73236)
@@ -202,2 +202,8 @@
     return fResult;
 }
+
+int UIWizardExportAppPageBasic1::nextId() const
+{
+    /* Skip 2nd page as we are merging 2nd and 3rd now: */
+    return UIWizardExportApp::Page3;
+}
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.h	(revision 73234)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic1.h	(revision 73236)
@@ -75,4 +75,7 @@
     virtual bool validatePage() /* override */;
 
+    /** Defines the ID of the next page. */
+    virtual int nextId() const /* override */;
+
 private:
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp	(revision 73234)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.cpp	(revision 73236)
@@ -52,9 +52,12 @@
 
 UIWizardExportAppPage3::UIWizardExportAppPage3()
-    : m_pSettingsWidget(0)
+    : m_pFormatLayout(0)
+    , m_pSettingsLayout1(0)
+    , m_pSettingsLayout2(0)
+    , m_pFormatComboBoxLabel(0)
+    , m_pFormatComboBox(0)
+    , m_pSettingsWidget(0)
     , m_pFileSelectorLabel(0)
     , m_pFileSelector(0)
-    , m_pFormatComboBoxLabel(0)
-    , m_pFormatComboBox(0)
     , m_pMACComboBoxLabel(0)
     , m_pMACComboBox(0)
@@ -83,4 +86,5 @@
     formats << "ovf-2.0";
     formats << "opc-1.0";
+    formats << "csp-1.0";
     m_pFormatComboBox->addItems(formats);
 
@@ -207,6 +211,6 @@
 {
     /* Update page appearance according to chosen storage-type: */
-    const StorageType enmStorageType = fieldImp("storageType").value<StorageType>();
-    m_pSettingsWidget->setCurrentIndex((int)enmStorageType);
+    const bool fCSP = fieldImp("format").toString() == "csp-1.0";
+    m_pSettingsWidget->setCurrentIndex((int)fCSP);
 }
 
@@ -226,6 +230,15 @@
 void UIWizardExportAppPage3::refreshFileSelectorExtension()
 {
-    /* If the format is set to OPC: */
-    if (fieldImp("format").toString() == "opc-1.0")
+    /* If the format is set to CSP: */
+    if (fieldImp("format").toString() == "csp-1.0")
+    {
+        /* We use no extension: */
+        m_strFileSelectorExt.clear();
+
+        /* Update file chooser accordingly: */
+        m_pFileSelector->setFileFilters(QString());
+    }
+    /* Else if the format is set to OPC: */
+    else if (fieldImp("format").toString() == "opc-1.0")
     {
         /* We use .tar.gz extension: */
@@ -263,6 +276,7 @@
 void UIWizardExportAppPage3::refreshManifestCheckBoxAccess()
 {
-    /* If the format is set to OPC: */
-    if (fieldImp("format").toString() == "opc-1.0")
+    /* If the format is set to CSP || OPC: */
+    if (   fieldImp("format").toString() == "csp-1.0"
+        || fieldImp("format").toString() == "opc-1.0")
     {
         /* Disable manifest check-box: */
@@ -281,6 +295,7 @@
 void UIWizardExportAppPage3::refreshIncludeISOsCheckBoxAccess()
 {
-    /* If the format is set to OPC: */
-    if (fieldImp("format").toString() == "opc-1.0")
+    /* If the format is set to CSP || OPC: */
+    if (   fieldImp("format").toString() == "csp-1.0"
+        || fieldImp("format").toString() == "opc-1.0")
     {
         /* Disable include ISO check-box: */
@@ -344,14 +359,4 @@
 }
 
-QString UIWizardExportAppPage3::path() const
-{
-    return m_pFileSelector->path();
-}
-
-void UIWizardExportAppPage3::setPath(const QString &strPath)
-{
-    m_pFileSelector->setPath(strPath);
-}
-
 QString UIWizardExportAppPage3::format() const
 {
@@ -367,4 +372,14 @@
 }
 
+QString UIWizardExportAppPage3::path() const
+{
+    return m_pFileSelector->path();
+}
+
+void UIWizardExportAppPage3::setPath(const QString &strPath)
+{
+    m_pFileSelector->setPath(strPath);
+}
+
 MACAddressPolicy UIWizardExportAppPage3::macAddressPolicy() const
 {
@@ -425,5 +440,6 @@
 
 UIWizardExportAppPageBasic3::UIWizardExportAppPageBasic3()
-    : m_pLabel(0)
+    : m_pLabelFormat(0)
+    , m_pLabelSettings(0)
 {
     /* Create main layout: */
@@ -431,10 +447,54 @@
     if (pMainLayout)
     {
-        /* Create label: */
-        m_pLabel = new QIRichTextLabel;
-        if (m_pLabel)
+        /* Create format label: */
+        m_pLabelFormat = new QIRichTextLabel;
+        if (m_pLabelFormat)
         {
             /* Add into layout: */
-            pMainLayout->addWidget(m_pLabel);
+            pMainLayout->addWidget(m_pLabelFormat);
+        }
+
+        /* Create format layout: */
+        m_pFormatLayout = new QGridLayout;
+        if (m_pFormatLayout)
+        {
+#ifdef VBOX_WS_MAC
+            m_pFormatLayout->setContentsMargins(0, 10, 0, 10);
+            m_pFormatLayout->setSpacing(10);
+#else
+            m_pFormatLayout->setContentsMargins(0, qApp->style()->pixelMetric(QStyle::PM_LayoutTopMargin),
+                                                0, qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
+#endif
+            m_pFormatLayout->setColumnStretch(0, 0);
+            m_pFormatLayout->setColumnStretch(1, 1);
+
+            /* Create format combo-box: */
+            m_pFormatComboBox = new QComboBox;
+            if (m_pFormatComboBox)
+            {
+                /* Add into layout: */
+                m_pFormatLayout->addWidget(m_pFormatComboBox, 0, 1);
+            }
+            /* Create format combo-box label: */
+            m_pFormatComboBoxLabel = new QLabel;
+            if (m_pFormatComboBoxLabel)
+            {
+                m_pFormatComboBoxLabel->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
+                m_pFormatComboBoxLabel->setBuddy(m_pFormatComboBox);
+
+                /* Add into layout: */
+                m_pFormatLayout->addWidget(m_pFormatComboBoxLabel, 0, 0);
+            }
+
+            /* Add into layout: */
+            pMainLayout->addLayout(m_pFormatLayout);
+        }
+
+        /* Create settings label: */
+        m_pLabelSettings = new QIRichTextLabel;
+        if (m_pLabelSettings)
+        {
+            /* Add into layout: */
+            pMainLayout->addWidget(m_pLabelSettings);
         }
 
@@ -448,16 +508,16 @@
             {
                 /* Create settings layout 1: */
-                QGridLayout *pSettingsLayout1 = new QGridLayout(pSettingsPane1);
-                if (pSettingsLayout1)
+                m_pSettingsLayout1 = new QGridLayout(pSettingsPane1);
+                if (m_pSettingsLayout1)
                 {
 #ifdef VBOX_WS_MAC
-                    pSettingsLayout1->setContentsMargins(0, 10, 0, 10);
-                    pSettingsLayout1->setSpacing(10);
+                    m_pSettingsLayout1->setContentsMargins(0, 10, 0, 10);
+                    m_pSettingsLayout1->setSpacing(10);
 #else
-                    pSettingsLayout1->setContentsMargins(0, qApp->style()->pixelMetric(QStyle::PM_LayoutTopMargin),
-                                                         0, qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
+                    m_pSettingsLayout1->setContentsMargins(0, qApp->style()->pixelMetric(QStyle::PM_LayoutTopMargin),
+                                                           0, qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
 #endif
-                    pSettingsLayout1->setColumnStretch(0, 0);
-                    pSettingsLayout1->setColumnStretch(1, 1);
+                    m_pSettingsLayout1->setColumnStretch(0, 0);
+                    m_pSettingsLayout1->setColumnStretch(1, 1);
 
                     /* Create file selector: */
@@ -471,5 +531,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pFileSelector, 0, 1, 1, 2);
+                        m_pSettingsLayout1->addWidget(m_pFileSelector, 0, 1, 1, 2);
                     }
                     /* Create file selector label: */
@@ -481,23 +541,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pFileSelectorLabel, 0, 0);
-                    }
-
-                    /* Create format combo-box: */
-                    m_pFormatComboBox = new QComboBox;
-                    if (m_pFormatComboBox)
-                    {
-                        /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pFormatComboBox, 1, 1, 1, 2);
-                    }
-                    /* Create format combo-box label: */
-                    m_pFormatComboBoxLabel = new QLabel;
-                    if (m_pFormatComboBoxLabel)
-                    {
-                        m_pFormatComboBoxLabel->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
-                        m_pFormatComboBoxLabel->setBuddy(m_pFormatComboBox);
-
-                        /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pFormatComboBoxLabel, 1, 0);
+                        m_pSettingsLayout1->addWidget(m_pFileSelectorLabel, 0, 0);
                     }
 
@@ -507,5 +549,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pMACComboBox, 2, 1, 1, 2);
+                        m_pSettingsLayout1->addWidget(m_pMACComboBox, 1, 1, 1, 2);
                     }
                     /* Create format combo-box label: */
@@ -517,5 +559,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pMACComboBoxLabel, 2, 0);
+                        m_pSettingsLayout1->addWidget(m_pMACComboBoxLabel, 1, 0);
                     }
 
@@ -527,5 +569,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pAdditionalLabel, 3, 0);
+                        m_pSettingsLayout1->addWidget(m_pAdditionalLabel, 2, 0);
                     }
                     /* Create manifest check-box: */
@@ -534,5 +576,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pManifestCheckbox, 3, 1);
+                        m_pSettingsLayout1->addWidget(m_pManifestCheckbox, 2, 1);
                     }
                     /* Create include ISOs check-box: */
@@ -541,5 +583,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 4, 1);
+                        m_pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 3, 1);
                     }
 
@@ -549,5 +591,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout1->addWidget(pPlaceholder, 5, 0, 1, 3);
+                        m_pSettingsLayout1->addWidget(pPlaceholder, 4, 0, 1, 3);
                     }
                 }
@@ -562,17 +604,17 @@
             {
                 /* Create settings layout 2: */
-                QGridLayout *pSettingsLayout2 = new QGridLayout(pSettingsPane2);
-                if (pSettingsLayout2)
+                m_pSettingsLayout2 = new QGridLayout(pSettingsPane2);
+                if (m_pSettingsLayout2)
                 {
 #ifdef VBOX_WS_MAC
-                    pSettingsLayout2->setContentsMargins(0, 10, 0, 10);
-                    pSettingsLayout2->setSpacing(10);
+                    m_pSettingsLayout2->setContentsMargins(0, 10, 0, 10);
+                    m_pSettingsLayout2->setSpacing(10);
 
 #else
-                    pSettingsLayout2->setContentsMargins(0, qApp->style()->pixelMetric(QStyle::PM_LayoutTopMargin),
-                                                         0, qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
+                    m_pSettingsLayout2->setContentsMargins(0, qApp->style()->pixelMetric(QStyle::PM_LayoutTopMargin),
+                                                           0, qApp->style()->pixelMetric(QStyle::PM_LayoutBottomMargin));
 #endif
-                    pSettingsLayout2->setColumnStretch(0, 0);
-                    pSettingsLayout2->setColumnStretch(1, 1);
+                    m_pSettingsLayout2->setColumnStretch(0, 0);
+                    m_pSettingsLayout2->setColumnStretch(1, 1);
 
                     /* Create provider combo-box: */
@@ -581,5 +623,5 @@
                     {
                         /* Add into layout: */
-                        pSettingsLayout2->addWidget(m_pAccountComboBox, 0, 1);
+                        m_pSettingsLayout2->addWidget(m_pAccountComboBox, 0, 1);
                     }
                     /* Create provider label: */
@@ -591,5 +633,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout2->addWidget(m_pAccountComboBoxLabel, 0, 0);
+                        m_pSettingsLayout2->addWidget(m_pAccountComboBoxLabel, 0, 0);
                     }
                     /* Create profile property table: */
@@ -603,5 +645,5 @@
                         const int iTotalHeight = 4 * iFontHeight;
                         m_pAccountPropertyTable->setMinimumSize(QSize(iTotalWidth, iTotalHeight));
-                        m_pAccountPropertyTable->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
+//                        m_pAccountPropertyTable->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
                         m_pAccountPropertyTable->setAlternatingRowColors(true);
                         m_pAccountPropertyTable->horizontalHeader()->setVisible(false);
@@ -610,5 +652,5 @@
 
                         /* Add into layout: */
-                        pSettingsLayout2->addWidget(m_pAccountPropertyTable, 1, 1);
+                        m_pSettingsLayout2->addWidget(m_pAccountPropertyTable, 1, 1);
                     }
                 }
@@ -642,6 +684,6 @@
 
     /* Register fields: */
+    registerField("format", this, "format");
     registerField("path", this, "path");
-    registerField("format", this, "format");
     registerField("macAddressPolicy", this, "macAddressPolicy");
     registerField("manifestSelected", this, "manifestSelected");
@@ -676,4 +718,15 @@
     /* Translate objects: */
     m_strDefaultApplianceName = UIWizardExportApp::tr("Appliance");
+
+    /* Translate format label: */
+    m_pLabelFormat->setText(tr("<p>Please choose a format to export the virtual appliance to.</p>"
+                               "<p>The <b>Open Virtualization Format</b> supports only <b>ovf</b> or <b>ova</b> extensions. "
+                               "If you use the <b>ovf</b> extension, several files will be written separately. "
+                               "If you use the <b>ova</b> extension, all the files will be combined into one Open "
+                               "Virtualization Format archive.</p>"
+                               "<p>The <b>Oracle Public Cloud Format</b> supports only the <b>tar.gz</b> extension. "
+                               "Each virtual disk file will be written separately.</p>"
+                               "<p>The <b>Cloud Service Provider Format</b> supports exporting to remote cloud services only. "
+                               "Main virtual disk of each selected machine will be uploaded to remote server.</p>"));
 
     /* Translate file selector: */
@@ -688,4 +741,5 @@
     m_pFormatComboBox->setItemText(2, UIWizardExportApp::tr("Open Virtualization Format 2.0"));
     m_pFormatComboBox->setItemText(3, UIWizardExportApp::tr("Oracle Public Cloud Format 1.0"));
+    m_pFormatComboBox->setItemText(4, UIWizardExportApp::tr("Cloud Service Provider"));
     m_pFormatComboBox->setItemData(0, UIWizardExportApp::tr("Write in legacy OVF 0.9 format for compatibility "
                                                             "with other virtualization products."), Qt::ToolTipRole);
@@ -693,4 +747,5 @@
     m_pFormatComboBox->setItemData(2, UIWizardExportApp::tr("Write in new OVF 2.0 format."), Qt::ToolTipRole);
     m_pFormatComboBox->setItemData(3, UIWizardExportApp::tr("Write in Oracle Public Cloud 1.0 format."), Qt::ToolTipRole);
+    m_pFormatComboBox->setItemData(4, UIWizardExportApp::tr("Export to Cloud Service Provider."), Qt::ToolTipRole);
 
     /* Translate MAC address policy combo-box: */
@@ -736,4 +791,18 @@
     }
 
+    /* Adjust label widths: */
+    QList<QWidget*> labels;
+    labels << m_pFormatComboBoxLabel;
+    labels << m_pFileSelectorLabel;
+    labels << m_pMACComboBoxLabel;
+    labels << m_pAdditionalLabel;
+    labels << m_pAccountComboBoxLabel;
+    int iMaxWidth = 0;
+    foreach (QWidget *pLabel, labels)
+        iMaxWidth = qMax(iMaxWidth, pLabel->minimumSizeHint().width());
+    m_pFormatLayout->setColumnMinimumWidth(0, iMaxWidth);
+    m_pSettingsLayout1->setColumnMinimumWidth(0, iMaxWidth);
+    m_pSettingsLayout2->setColumnMinimumWidth(0, iMaxWidth);
+
     /* Refresh file selector name: */
     refreshFileSelectorName();
@@ -776,9 +845,11 @@
                           || field("format").toString() == "ovf-2.0";
         const bool fOPC =    field("format").toString() == "opc-1.0";
+        const bool fCSP =    field("format").toString() == "csp-1.0";
 
         fResult =    (   fOVF
                       && VBoxGlobal::hasAllowedExtension(strFile, OVFFileExts))
                   || (   fOPC
-                      && VBoxGlobal::hasAllowedExtension(strFile, OPCFileExts));
+                      && VBoxGlobal::hasAllowedExtension(strFile, OPCFileExts))
+                  || fCSP;
     }
 
@@ -792,29 +863,18 @@
 
     /* Update page appearance according to chosen storage-type: */
-    const StorageType enmStorageType = field("storageType").value<StorageType>();
-    switch (enmStorageType)
-    {
-        case LocalFilesystem:
-        {
-            m_pLabel->setText(tr("<p>Please choose a filename to export the virtual appliance to.</p>"
-                                 "<p>The <b>Open Virtualization Format</b> supports only <b>ovf</b> or <b>ova</b> extensions. "
-                                 "If you use the <b>ovf</b> extension, several files will be written separately. "
-                                 "If you use the <b>ova</b> extension, all the files will be combined into one Open "
-                                 "Virtualization Format archive.</p>"
-                                 "<p>The <b>Oracle Public Cloud Format</b> supports only the <b>tar.gz</b> extension. "
-                                 "Each virtual disk file will be written separately.</p>"));
-            m_pFileSelector->setFocus();
-            break;
-        }
-        case CloudProvider:
-        {
-            m_pLabel->setText(tr("<p>Please choose a cloud service <b>provider</b> and one of its <b>profiles</b> you have "
-                                 "registered to export virtual machines to.</p>"
-                                 "<p>Make sure profile settings reflected in the underlying table are valid. "
-                                 "They will be used to establish network connection required to upload your virtual machine "
-                                 "files to remote cloud facility."));
-            m_pAccountComboBox->setFocus();
-            break;
-        }
+    if (field("format").toString() == "csp-1.0")
+    {
+        m_pLabelSettings->setText(tr("<p>Please choose one of cloud service accounts you have registered to export virtual "
+                                     "machines to.  Make sure profile settings reflected in the underlying table are valid.  "
+                                     "They will be used to establish network connection required to upload your virtual machine "
+                                     "files to a remote cloud facility."));
+        m_pAccountComboBox->setFocus();
+    }
+    else
+    {
+        m_pLabelSettings->setText(tr("<p>Please choose a filename to export the virtual appliance to. Besides that you can "
+                                     "specify a certain amount of options which affects the size and content of resulting "
+                                     "archive.</p>"));
+        m_pFileSelector->setFocus();
     }
 }
@@ -826,4 +886,5 @@
 
     /* Refresh required settings: */
+    updatePageAppearance();
     refreshFileSelectorExtension();
     refreshManifestCheckBoxAccess();
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h	(revision 73234)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageBasic3.h	(revision 73236)
@@ -32,4 +32,5 @@
 class QCheckBox;
 class QComboBox;
+class QGridLayout;
 class QLabel;
 class QLineEdit;
@@ -98,13 +99,13 @@
     void adjustAccountPropertyTable();
 
+    /** Returns format. */
+    QString format() const;
+    /** Defines @a strFormat. */
+    void setFormat(const QString &strFormat);
+
     /** Returns path. */
     QString path() const;
     /** Defines @a strPath. */
     void setPath(const QString &strPath);
-
-    /** Returns format. */
-    QString format() const;
-    /** Defines @a strFormat. */
-    void setFormat(const QString &strFormat);
 
     /** Returns MAC address policy. */
@@ -141,4 +142,16 @@
     QString  m_strFileSelectorExt;
 
+    /** Holds the format layout. */
+    QGridLayout *m_pFormatLayout;
+    /** Holds the settings layout 1. */
+    QGridLayout *m_pSettingsLayout1;
+    /** Holds the settings layout 2. */
+    QGridLayout *m_pSettingsLayout2;
+
+    /** Holds the format combo-box label instance. */
+    QLabel    *m_pFormatComboBoxLabel;
+    /** Holds the format combo-box instance. */
+    QComboBox *m_pFormatComboBox;
+
     /** Holds the settings widget instance. */
     QStackedWidget *m_pSettingsWidget;
@@ -148,9 +161,4 @@
     /** Holds the file selector instance. */
     UIEmptyFilePathSelector *m_pFileSelector;
-
-    /** Holds the format combo-box label instance. */
-    QLabel    *m_pFormatComboBoxLabel;
-    /** Holds the format combo-box instance. */
-    QComboBox *m_pFormatComboBox;
 
     /** Holds the MAC address policy combo-box label instance. */
@@ -179,6 +187,6 @@
 {
     Q_OBJECT;
+    Q_PROPERTY(QString format READ format WRITE setFormat);
     Q_PROPERTY(QString path READ path WRITE setPath);
-    Q_PROPERTY(QString format READ format WRITE setFormat);
     Q_PROPERTY(MACAddressPolicy macAddressPolicy READ macAddressPolicy WRITE setMACAddressPolicy);
     Q_PROPERTY(bool manifestSelected READ isManifestSelected WRITE setManifestSelected);
@@ -223,6 +231,9 @@
 private:
 
-    /** Holds the label instance. */
-    QIRichTextLabel *m_pLabel;
+    /** Holds the format label instance. */
+    QIRichTextLabel *m_pLabelFormat;
+
+    /** Holds the settings label instance. */
+    QIRichTextLabel *m_pLabelSettings;
 };
 
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp	(revision 73234)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.cpp	(revision 73236)
@@ -148,8 +148,40 @@
             if (pSettingsCntLayout)
             {
-                pSettingsCntLayout->setContentsMargins(0, 0, 0, 0);
 #ifdef VBOX_WS_MAC
                 pSettingsCntLayout->setSpacing(5);
 #endif
+
+                /* Create format layout: */
+                m_pFormatLayout = new QGridLayout;
+                if (m_pFormatLayout)
+                {
+                    m_pFormatLayout->setContentsMargins(0, 0, 0, 0);
+#ifdef VBOX_WS_MAC
+                    m_pFormatLayout->setSpacing(10);
+#endif
+                    m_pFormatLayout->setColumnStretch(0, 0);
+                    m_pFormatLayout->setColumnStretch(1, 1);
+
+                    /* Create format combo-box: */
+                    m_pFormatComboBox = new QComboBox;
+                    if (m_pFormatComboBox)
+                    {
+                        /* Add into layout: */
+                        m_pFormatLayout->addWidget(m_pFormatComboBox, 0, 1);
+                    }
+                    /* Create format combo-box label: */
+                    m_pFormatComboBoxLabel = new QLabel;
+                    if (m_pFormatComboBoxLabel)
+                    {
+                        m_pFormatComboBoxLabel->setAlignment(Qt::AlignRight | Qt::AlignTrailing | Qt::AlignVCenter);
+                        m_pFormatComboBoxLabel->setBuddy(m_pFormatComboBox);
+
+                        /* Add into layout: */
+                        m_pFormatLayout->addWidget(m_pFormatComboBoxLabel, 0, 0);
+                    }
+
+                    /* Add into layout: */
+                    pSettingsCntLayout->addLayout(m_pFormatLayout);
+                }
 
                 /* Create settings widget: */
@@ -162,13 +194,13 @@
                     {
                         /* Create settings layout 1: */
-                        QGridLayout *pSettingsLayout1 = new QGridLayout(pSettingsPane1);
-                        if (pSettingsLayout1)
+                        m_pSettingsLayout1 = new QGridLayout(pSettingsPane1);
+                        if (m_pSettingsLayout1)
                         {
 #ifdef VBOX_WS_MAC
-                            pSettingsLayout1->setSpacing(10);
+                            m_pSettingsLayout1->setSpacing(10);
 #endif
-                            pSettingsLayout1->setContentsMargins(0, 0, 0, 0);
-                            pSettingsLayout1->setColumnStretch(0, 0);
-                            pSettingsLayout1->setColumnStretch(1, 1);
+                            m_pSettingsLayout1->setContentsMargins(0, 0, 0, 0);
+                            m_pSettingsLayout1->setColumnStretch(0, 0);
+                            m_pSettingsLayout1->setColumnStretch(1, 1);
 
                             /* Create file selector: */
@@ -182,5 +214,5 @@
 
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pFileSelector, 0, 1, 1, 2);
+                                m_pSettingsLayout1->addWidget(m_pFileSelector, 0, 1, 1, 2);
                             }
                             /* Create file selector label: */
@@ -192,23 +224,5 @@
 
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pFileSelectorLabel, 0, 0);
-                            }
-
-                            /* Create format combo-box editor: */
-                            m_pFormatComboBox = new QComboBox;
-                            if (m_pFormatComboBox)
-                            {
-                                /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pFormatComboBox, 1, 1, 1, 2);
-                            }
-                            /* Create format combo-box label: */
-                            m_pFormatComboBoxLabel = new QLabel;
-                            if (m_pFormatComboBoxLabel)
-                            {
-                                m_pFormatComboBoxLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-                                m_pFormatComboBoxLabel->setBuddy(m_pFormatComboBox);
-
-                                /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pFormatComboBoxLabel, 1, 0);
+                                m_pSettingsLayout1->addWidget(m_pFileSelectorLabel, 0, 0);
                             }
 
@@ -218,5 +232,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pMACComboBox, 2, 1, 1, 2);
+                                m_pSettingsLayout1->addWidget(m_pMACComboBox, 1, 1, 1, 2);
                             }
                             /* Create format combo-box label: */
@@ -228,5 +242,5 @@
 
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pMACComboBoxLabel, 2, 0);
+                                m_pSettingsLayout1->addWidget(m_pMACComboBoxLabel, 1, 0);
                             }
 
@@ -238,5 +252,5 @@
 
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pAdditionalLabel, 3, 0);
+                                m_pSettingsLayout1->addWidget(m_pAdditionalLabel, 2, 0);
                             }
                             /* Create manifest check-box editor: */
@@ -245,5 +259,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pManifestCheckbox, 3, 1);
+                                m_pSettingsLayout1->addWidget(m_pManifestCheckbox, 2, 1);
                             }
                             /* Create include ISOs check-box: */
@@ -252,5 +266,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 4, 1);
+                                m_pSettingsLayout1->addWidget(m_pIncludeISOsCheckbox, 3, 1);
                             }
 
@@ -260,5 +274,5 @@
                             {
                                 /* Add into layout: */
-                                pSettingsLayout1->addWidget(pPlaceholder, 5, 0, 1, 3);
+                                m_pSettingsLayout1->addWidget(pPlaceholder, 4, 0, 1, 3);
                             }
                         }
@@ -273,13 +287,13 @@
                     {
                         /* Create settings layout 2: */
-                        QGridLayout *pSettingsLayout2 = new QGridLayout(pSettingsPane2);
-                        if (pSettingsLayout2)
+                        m_pSettingsLayout2 = new QGridLayout(pSettingsPane2);
+                        if (m_pSettingsLayout2)
                         {
 #ifdef VBOX_WS_MAC
-                            pSettingsLayout2->setSpacing(10);
+                            m_pSettingsLayout2->setSpacing(10);
 #endif
-                            pSettingsLayout2->setContentsMargins(0, 0, 0, 0);
-                            pSettingsLayout2->setColumnStretch(0, 0);
-                            pSettingsLayout2->setColumnStretch(1, 1);
+                            m_pSettingsLayout2->setContentsMargins(0, 0, 0, 0);
+                            m_pSettingsLayout2->setColumnStretch(0, 0);
+                            m_pSettingsLayout2->setColumnStretch(1, 1);
 
                             /* Create account combo-box: */
@@ -287,9 +301,6 @@
                             if (m_pAccountComboBox)
                             {
-                                /* Hide it for now: */
-                                m_pAccountComboBox->hide();
-
-                                /* Add into layout: */
-                                pSettingsLayout2->addWidget(m_pAccountComboBox, 0, 1);
+                                /* Add into layout: */
+                                m_pSettingsLayout2->addWidget(m_pAccountComboBox, 0, 1);
                             }
                             /* Create account label: */
@@ -297,12 +308,9 @@
                             if (m_pAccountComboBoxLabel)
                             {
-                                /* Hide it for now: */
-                                m_pAccountComboBoxLabel->hide();
-
                                 m_pAccountComboBoxLabel->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
                                 m_pAccountComboBoxLabel->setBuddy(m_pAccountComboBox);
 
                                 /* Add into layout: */
-                                pSettingsLayout2->addWidget(m_pAccountComboBoxLabel, 0, 0);
+                                m_pSettingsLayout2->addWidget(m_pAccountComboBoxLabel, 0, 0);
                             }
                             /* Create account property table: */
@@ -323,5 +331,5 @@
 
                                 /* Add into layout: */
-                                pSettingsLayout2->addWidget(m_pAccountPropertyTable, 1, 1);
+                                m_pSettingsLayout2->addWidget(m_pAccountPropertyTable, 1, 1);
                             }
                         }
@@ -374,6 +382,6 @@
     registerField("machineIDs", this, "machineIDs");
     registerField("storageType", this, "storageType");
+    registerField("format", this, "format");
     registerField("path", this, "path");
-    registerField("format", this, "format");
     registerField("macAddressPolicy", this, "macAddressPolicy");
     registerField("manifestSelected", this, "manifestSelected");
@@ -428,4 +436,5 @@
     m_pFormatComboBox->setItemText(2, UIWizardExportApp::tr("Open Virtualization Format 2.0"));
     m_pFormatComboBox->setItemText(3, UIWizardExportApp::tr("Oracle Public Cloud Format 1.0"));
+    m_pFormatComboBox->setItemText(4, UIWizardExportApp::tr("Cloud Service Provider"));
     m_pFormatComboBox->setItemData(0, UIWizardExportApp::tr("Write in legacy OVF 0.9 format for compatibility "
                                                             "with other virtualization products."), Qt::ToolTipRole);
@@ -433,4 +442,5 @@
     m_pFormatComboBox->setItemData(2, UIWizardExportApp::tr("Write in new OVF 2.0 format."), Qt::ToolTipRole);
     m_pFormatComboBox->setItemData(3, UIWizardExportApp::tr("Write in Oracle Public Cloud 1.0 format."), Qt::ToolTipRole);
+    m_pFormatComboBox->setItemData(4, UIWizardExportApp::tr("Export to Cloud Service Provider."), Qt::ToolTipRole);
 
     /* Translate MAC address policy combo-box: */
@@ -476,4 +486,18 @@
     }
 
+    /* Adjust label widths: */
+    QList<QWidget*> labels;
+    labels << m_pFormatComboBoxLabel;
+    labels << m_pFileSelectorLabel;
+    labels << m_pMACComboBoxLabel;
+    labels << m_pAdditionalLabel;
+    labels << m_pAccountComboBoxLabel;
+    int iMaxWidth = 0;
+    foreach (QWidget *pLabel, labels)
+        iMaxWidth = qMax(iMaxWidth, pLabel->minimumSizeHint().width());
+    m_pFormatLayout->setColumnMinimumWidth(0, iMaxWidth);
+    m_pSettingsLayout1->setColumnMinimumWidth(0, iMaxWidth);
+    m_pSettingsLayout2->setColumnMinimumWidth(0, iMaxWidth);
+
     /* Refresh file selector name: */
     refreshFileSelectorName();
@@ -519,9 +543,11 @@
                           || field("format").toString() == "ovf-2.0";
         const bool fOPC =    field("format").toString() == "opc-1.0";
+        const bool fCSP =    field("format").toString() == "csp-1.0";
 
         fResult =    (   fOVF
                       && VBoxGlobal::hasAllowedExtension(strFile, OVFFileExts))
                   || (   fOPC
-                      && VBoxGlobal::hasAllowedExtension(strFile, OPCFileExts));
+                      && VBoxGlobal::hasAllowedExtension(strFile, OPCFileExts))
+                  || fCSP;
     }
 
@@ -572,4 +598,5 @@
 
     /* Refresh required settings: */
+    updatePageAppearance();
     refreshFileSelectorExtension();
     refreshManifestCheckBoxAccess();
Index: trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h	(revision 73234)
+++ trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportAppPageExpert.h	(revision 73236)
@@ -41,6 +41,6 @@
     Q_PROPERTY(QStringList machineIDs READ machineIDs);
     Q_PROPERTY(StorageType storageType READ storageType WRITE setStorageType);
+    Q_PROPERTY(QString format READ format WRITE setFormat);
     Q_PROPERTY(QString path READ path WRITE setPath);
-    Q_PROPERTY(QString format READ format WRITE setFormat);
     Q_PROPERTY(MACAddressPolicy macAddressPolicy READ macAddressPolicy WRITE setMACAddressPolicy);
     Q_PROPERTY(bool manifestSelected READ isManifestSelected WRITE setManifestSelected);
