Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 77296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp	(revision 77297)
@@ -689,4 +689,32 @@
         setName(QApplication::translate("UIActionPool", "Cl&one..."));
         setStatusTip(QApplication::translate("UIActionPool", "Clone selected virtual machine"));
+    }
+};
+
+/** Simple action extension, used as 'Perform Export Machine' action class. */
+class UIActionSimpleSelectorMachinePerformExport : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorMachinePerformExport(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/export_16px.png", ":/export_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("ExportVM");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Export..."));
+        setStatusTip(QApplication::translate("UIActionPool", "Export selected virtual machine"));
     }
 };
@@ -2659,4 +2687,5 @@
     m_pool[UIActionIndexST_M_Machine_S_Settings] = new UIActionSimpleSelectorMachineShowSettings(this);
     m_pool[UIActionIndexST_M_Machine_S_Clone] = new UIActionSimpleSelectorMachinePerformClone(this);
+    m_pool[UIActionIndexST_M_Machine_S_Export] = new UIActionSimpleSelectorMachinePerformExport(this);
     m_pool[UIActionIndexST_M_Machine_S_Move] = new UIActionSimpleSelectorMachinePerformMove(this);
     m_pool[UIActionIndexST_M_Machine_S_Remove] = new UIActionSimpleSelectorMachinePerformRemove(this);
@@ -3003,4 +3032,5 @@
     pMenu->addAction(action(UIActionIndexST_M_Machine_S_Settings));
     pMenu->addAction(action(UIActionIndexST_M_Machine_S_Clone));
+    pMenu->addAction(action(UIActionIndexST_M_Machine_S_Export));
     pMenu->addAction(action(UIActionIndexST_M_Machine_S_Move));
     pMenu->addAction(action(UIActionIndexST_M_Machine_S_Remove));
@@ -3369,9 +3399,9 @@
         case UIActionIndexST_M_Machine:
         {
-
             actions << action(UIActionIndexST_M_Machine_S_New)
                     << action(UIActionIndexST_M_Machine_S_Add)
                     << action(UIActionIndexST_M_Machine_S_Settings)
                     << action(UIActionIndexST_M_Machine_S_Clone)
+                    << action(UIActionIndexST_M_Machine_S_Export)
                     << action(UIActionIndexST_M_Machine_S_Move)
                     << action(UIActionIndexST_M_Machine_S_Remove)
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 77296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h	(revision 77297)
@@ -90,4 +90,5 @@
     UIActionIndexST_M_Machine_S_Settings,
     UIActionIndexST_M_Machine_S_Clone,
+    UIActionIndexST_M_Machine_S_Export,
     UIActionIndexST_M_Machine_S_Move,
     UIActionIndexST_M_Machine_S_Remove,
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 77296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 77297)
@@ -530,9 +530,15 @@
     /* Lock the action preventing cascade calls: */
     actionPool()->action(UIActionIndexST_M_File_S_ExportAppliance)->setProperty("opened", true);
+    actionPool()->action(UIActionIndexST_M_Machine_S_Export)->setProperty("opened", true);
     updateActionsAppearance();
+
+    /* Check what was the action invoked us: */
+    UIAction *pAction = qobject_cast<UIAction*>(sender());
 
     /* Use the "safe way" to open stack of Mac OS X Sheets: */
     QWidget *pWizardParent = windowManager().realParentWindow(this);
-    UISafePointerWizard pWizard = new UIWizardExportApp(pWizardParent, names);
+    UISafePointerWizard pWizard = new UIWizardExportApp(pWizardParent, names,
+                                                        pAction &&
+                                                        pAction == actionPool()->action(UIActionIndexST_M_Machine_S_Export));
     windowManager().registerNewParent(pWizard, pWizardParent);
     pWizard->prepare();
@@ -544,4 +550,5 @@
     {
         actionPool()->action(UIActionIndexST_M_File_S_ExportAppliance)->setProperty("opened", QVariant());
+        actionPool()->action(UIActionIndexST_M_Machine_S_Export)->setProperty("opened", QVariant());
         updateActionsAppearance();
     }
@@ -1429,4 +1436,6 @@
     connect(actionPool()->action(UIActionIndexST_M_Machine_S_Clone), &UIAction::triggered,
             this, &UIVirtualBoxManager::sltOpenCloneMachineWizard);
+    connect(actionPool()->action(UIActionIndexST_M_Machine_S_Export), &UIAction::triggered,
+            this, &UIVirtualBoxManager::sltOpenExportApplianceWizard);
     connect(actionPool()->action(UIActionIndexST_M_Machine_S_Move), &UIAction::triggered,
             this, &UIVirtualBoxManager::sltPerformMachineMove);
@@ -1712,4 +1721,5 @@
     actionPool()->action(UIActionIndexST_M_Machine_S_Settings)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_S_Settings, items));
     actionPool()->action(UIActionIndexST_M_Machine_S_Clone)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_S_Clone, items));
+    actionPool()->action(UIActionIndexST_M_Machine_S_Export)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_S_Export, items));
     actionPool()->action(UIActionIndexST_M_Machine_S_Move)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_S_Move, items));
     actionPool()->action(UIActionIndexST_M_Machine_S_Remove)->setEnabled(isActionEnabled(UIActionIndexST_M_Machine_S_Remove, items));
@@ -1876,4 +1886,9 @@
                    UIVirtualMachineItem::isItemEditable(pItem);
         }
+        case UIActionIndexST_M_Machine_S_Export:
+        {
+            return !actionPool()->action(iActionIndex)->property("opened").toBool() &&
+                   items.size() == 1;
+        }
         case UIActionIndexST_M_Machine_S_Remove:
         {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 77296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 77297)
@@ -1414,4 +1414,5 @@
         m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Settings));
         m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Clone));
+        m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Export));
         m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Move));
         m_pContextMenuMachine->addAction(actionPool()->action(UIActionIndexST_M_Machine_S_Remove));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp	(revision 77296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.cpp	(revision 77297)
@@ -17,4 +17,5 @@
 
 /* Qt includes: */
+#include <QAbstractButton>
 #include <QFileInfo>
 #include <QVariant>
@@ -37,7 +38,10 @@
 
 
-UIWizardExportApp::UIWizardExportApp(QWidget *pParent, const QStringList &selectedVMNames)
+UIWizardExportApp::UIWizardExportApp(QWidget *pParent,
+                                     const QStringList &selectedVMNames /* = QStringList() */,
+                                     bool fFastTraverToPage2 /* = false */)
     : UIWizard(pParent, WizardType_ExportAppliance)
     , m_selectedVMNames(selectedVMNames)
+    , m_fFastTraverToPage2(fFastTraverToPage2)
 {
 #ifndef VBOX_WS_MAC
@@ -226,4 +230,9 @@
     /* Call to base-class: */
     UIWizard::prepare();
+
+    /* Now, when we are ready, we can
+     * fast traver to page 2 if requested: */
+    if (m_fFastTraverToPage2)
+        button(QWizard::NextButton)->click();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.h	(revision 77296)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/wizards/exportappliance/UIWizardExportApp.h	(revision 77297)
@@ -51,5 +51,5 @@
     /** Constructs export appliance wizard passing @a pParent to the base-class.
       * @param  selectedVMNames  Brings the names of VMs to be exported. */
-    UIWizardExportApp(QWidget *pParent, const QStringList &selectedVMNames = QStringList());
+    UIWizardExportApp(QWidget *pParent, const QStringList &selectedVMNames = QStringList(), bool fFastTraverToPage2 = false);
 
     /** Exports full appliance. */
@@ -82,5 +82,7 @@
 
     /** Holds the names of VMs to be exported. */
-    QStringList m_selectedVMNames;
+    QStringList  m_selectedVMNames;
+    /** Holds whether we should fast travel to page 2. */
+    bool         m_fFastTraverToPage2;
 };
 
