Index: /trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/cloud/UICloudProfileManager.cpp	(revision 74868)
@@ -101,6 +101,5 @@
 QMenu *UICloudProfileManagerWidget::menu() const
 {
-    /// @todo implement menu action!
-    return 0;
+    return m_pActionPool->action(UIActionIndexST_M_CloudWindow)->menu();
 }
 
@@ -207,5 +206,6 @@
 
     /* Update actions availability: */
-    /// @todo implement % enable/disable actions!
+    m_pActionPool->action(UIActionIndexST_M_Cloud_S_Remove)->setEnabled(pItem);
+    m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details)->setEnabled(pItem);
 
     /* If there is an item => update details data: */
@@ -224,5 +224,16 @@
     /* Compose temporary context-menu: */
     QMenu menu;
-    /// @todo implement & insert actions!
+    if (m_pTreeWidget->itemAt(position))
+    {
+        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Remove));
+        menu.addSeparator();
+        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details));
+    }
+    else
+    {
+        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Create));
+//        menu.addSeparator();
+//        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Refresh));
+    }
 
     /* And show it: */
@@ -250,5 +261,12 @@
 {
     /* Connect actions: */
-    /// @todo implement & connect actions!
+    connect(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Create), &QAction::triggered,
+            this, &UICloudProfileManagerWidget::sltCreateCloudProfile);
+    connect(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Remove), &QAction::triggered,
+            this, &UICloudProfileManagerWidget::sltRemoveCloudProfile);
+    connect(m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details), &QAction::toggled,
+            this, &UICloudProfileManagerWidget::sltToggleCloudProfileDetailsVisibility);
+    connect(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Refresh), &QAction::triggered,
+            this, &UICloudProfileManagerWidget::sltRefreshCloudProfiles);
 }
 
@@ -289,5 +307,10 @@
 
         /* Add toolbar actions: */
-        /// @todo implement & add actions!
+        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Create));
+        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Remove));
+        m_pToolBar->addSeparator();
+        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details));
+//        m_pToolBar->addSeparator();
+//        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Cloud_S_Refresh));
 
 #ifdef VBOX_WS_MAC
@@ -326,5 +349,6 @@
         connect(m_pTreeWidget, &QITreeWidget::itemChanged,
                 this, &UICloudProfileManagerWidget::sltHandleItemChange);
-        /// @todo implement & connect actions!
+        connect(m_pTreeWidget, &QITreeWidget::itemDoubleClicked,
+                m_pActionPool->action(UIActionIndexST_M_Cloud_T_Details), &QAction::setChecked);
 
         /* Add into layout: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.cpp	(revision 74868)
@@ -128,4 +128,38 @@
         setName(QApplication::translate("UIActionPool", "&Host Network Manager..."));
         setStatusTip(QApplication::translate("UIActionPool", "Display the Host Network Manager window"));
+    }
+};
+
+/** Simple action extension, used as 'Show Cloud Profile Manager' action class. */
+class UIActionSimpleSelectorFileShowCloudProfileManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorFileShowCloudProfileManager(UIActionPool *pParent)
+        : UIActionSimple(pParent, ":/host_iface_manager_16px.png", ":/host_iface_manager_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("CloudProfileManager");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
+    {
+        return QKeySequence("Ctrl+C");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Cloud Profile Manager..."));
+        setStatusTip(QApplication::translate("UIActionPool", "Display the Cloud Profile Manager window"));
     }
 };
@@ -1557,4 +1591,34 @@
 };
 
+/** Simple action extension, used as 'Show Cloud Profile Manager' action class. */
+class UIActionSimpleSelectorToolsGlobalShowCloudProfileManager : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionSimpleSelectorToolsGlobalShowCloudProfileManager(UIActionPool *pParent)
+        : UIActionSimple(pParent,
+                         ":/host_iface_manager_24px.png", ":/host_iface_manager_16px.png",
+                         ":/host_iface_manager_24px.png", ":/host_iface_manager_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("ToolsGlobalCloudProfileManager");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Cloud Profile Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Open the Cloud Profile Manager"));
+    }
+};
+
 
 /** Menu action extension, used as 'Snapshot' menu class. */
@@ -2283,4 +2347,185 @@
 
 
+/** Menu action extension, used as 'Cloud' menu class. */
+class UIActionMenuSelectorCloud : public UIActionMenu
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorCloud(UIActionPool *pParent)
+        : UIActionMenu(pParent)
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("CloudProfileMenu");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Cloud"));
+        setStatusTip(QApplication::translate("UIActionPool", "Open the cloud menu"));
+    }
+};
+
+/** Simple action extension, used as 'Perform Create' action class. */
+class UIActionMenuSelectorCloudPerformCreate : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorCloudPerformCreate(UIActionPool *pParent)
+        : UIActionSimple(pParent,
+                         ":/host_iface_add_32px.png",          ":/host_iface_add_16px.png",
+                         ":/host_iface_add_disabled_32px.png", ":/host_iface_add_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("CreateCloudProfile");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
+    {
+        return QKeySequence("Ctrl+Shift+C");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Create..."));
+        setShortcutScope(QApplication::translate("UIActionPool", "Cloud Profile Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Create new cloud profile"));
+        setToolTip(tr("Create Cloud Profile (%1)").arg(shortcut().toString()));
+    }
+};
+
+/** Simple action extension, used as 'Perform Remove' action class. */
+class UIActionMenuSelectorCloudPerformRemove : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorCloudPerformRemove(UIActionPool *pParent)
+        : UIActionSimple(pParent,
+                         ":/host_iface_remove_32px.png",          ":/host_iface_remove_16px.png",
+                         ":/host_iface_remove_disabled_32px.png", ":/host_iface_remove_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("RemoveCloudProfile");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
+    {
+        return QKeySequence("Ctrl+Shift+R");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Remove..."));
+        setShortcutScope(QApplication::translate("UIActionPool", "Cloud Profile Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Remove selected cloud profile"));
+        setToolTip(tr("Remove Cloud Profile (%1)").arg(shortcut().toString()));
+    }
+};
+
+/** Toggle action extension, used as 'Toggle Properties' action class. */
+class UIActionMenuSelectorCloudToggleProperties : public UIActionToggle
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorCloudToggleProperties(UIActionPool *pParent)
+        : UIActionToggle(pParent,
+                         ":/host_iface_edit_32px.png",          ":/host_iface_edit_16px.png",
+                         ":/host_iface_edit_disabled_32px.png", ":/host_iface_edit_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("ToggleCloudProfileProperties");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
+    {
+        return QKeySequence("Ctrl+Space");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "&Properties"));
+        setShortcutScope(QApplication::translate("UIActionPool", "Cloud Profile Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Open pane with selected cloud profile properties"));
+        setToolTip(tr("Open Cloud Profile Properties (%1)").arg(shortcut().toString()));
+    }
+};
+
+/** Simple action extension, used as 'Perform Refresh' action class. */
+class UIActionMenuSelectorCloudPerformRefresh : public UIActionSimple
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs action passing @a pParent to the base-class. */
+    UIActionMenuSelectorCloudPerformRefresh(UIActionPool *pParent)
+        : UIActionSimple(pParent,
+                         ":/refresh_32px.png",          ":/refresh_16px.png",
+                         ":/refresh_disabled_32px.png", ":/refresh_disabled_16px.png")
+    {}
+
+protected:
+
+    /** Returns shortcut extra-data ID. */
+    virtual QString shortcutExtraDataID() const /* override */
+    {
+        return QString("RefreshCloudProfiles");
+    }
+
+    /** Returns default shortcut. */
+    virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
+    {
+        return QKeySequence("Ctrl+Shift+F");
+    }
+
+    /** Handles translation event. */
+    virtual void retranslateUi() /* override */
+    {
+        setName(QApplication::translate("UIActionPool", "Re&fresh..."));
+        setShortcutScope(QApplication::translate("UIActionPool", "Cloud Profile Manager"));
+        setStatusTip(QApplication::translate("UIActionPool", "Refresh the list of cloud profiles"));
+        setToolTip(tr("Refresh Cloud Profiles (%1)").arg(shortcut().toString()));
+    }
+};
+
+
 /*********************************************************************************************************************************
 *   Class UIActionPoolSelector implementation.                                                                                   *
@@ -2298,4 +2543,5 @@
     m_pool[UIActionIndexST_M_File_S_ShowVirtualMediumManager] = new UIActionSimpleSelectorFileShowVirtualMediaManager(this);
     m_pool[UIActionIndexST_M_File_S_ShowHostNetworkManager] = new UIActionSimpleSelectorFileShowHostNetworkManager(this);
+    m_pool[UIActionIndexST_M_File_S_ShowCloudProfileManager] = new UIActionSimpleSelectorFileShowCloudProfileManager(this);
     m_pool[UIActionIndexST_M_File_S_ImportAppliance] = new UIActionSimpleSelectorFileShowImportApplianceWizard(this);
     m_pool[UIActionIndexST_M_File_S_ExportAppliance] = new UIActionSimpleSelectorFileShowExportApplianceWizard(this);
@@ -2368,4 +2614,5 @@
     m_pool[UIActionIndexST_M_Tools_M_Global_S_VirtualMediaManager] = new UIActionSimpleSelectorToolsGlobalShowVirtualMediaManager(this);
     m_pool[UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager] = new UIActionSimpleSelectorToolsGlobalShowHostNetworkManager(this);
+    m_pool[UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager] = new UIActionSimpleSelectorToolsGlobalShowCloudProfileManager(this);
 
     /* Snapshot Pane actions: */
@@ -2396,4 +2643,12 @@
     m_pool[UIActionIndexST_M_Network_S_Refresh] = new UIActionMenuSelectorNetworkPerformRefresh(this);
 
+    /* Cloud Profile Manager actions: */
+    m_pool[UIActionIndexST_M_CloudWindow] = new UIActionMenuSelectorCloud(this);
+    m_pool[UIActionIndexST_M_Cloud] = new UIActionMenuSelectorCloud(this);
+    m_pool[UIActionIndexST_M_Cloud_S_Create] = new UIActionMenuSelectorCloudPerformCreate(this);
+    m_pool[UIActionIndexST_M_Cloud_S_Remove] = new UIActionMenuSelectorCloudPerformRemove(this);
+    m_pool[UIActionIndexST_M_Cloud_T_Details] = new UIActionMenuSelectorCloudToggleProperties(this);
+    m_pool[UIActionIndexST_M_Cloud_S_Refresh] = new UIActionMenuSelectorCloudPerformRefresh(this);
+
     /* Prepare update-handlers for known menus: */
     m_menuUpdateHandlers[UIActionIndexST_M_MediumWindow].ptfs = &UIActionPoolSelector::updateMenuMediumWindow;
@@ -2401,4 +2656,6 @@
     m_menuUpdateHandlers[UIActionIndexST_M_NetworkWindow].ptfs = &UIActionPoolSelector::updateMenuNetworkWindow;
     m_menuUpdateHandlers[UIActionIndexST_M_Network].ptfs = &UIActionPoolSelector::updateMenuNetwork;
+    m_menuUpdateHandlers[UIActionIndexST_M_CloudWindow].ptfs = &UIActionPoolSelector::updateMenuCloudWindow;
+    m_menuUpdateHandlers[UIActionIndexST_M_Cloud].ptfs = &UIActionPoolSelector::updateMenuCloud;
 
     /* Call to base-class: */
@@ -2543,4 +2800,56 @@
 }
 
+void UIActionPoolSelector::updateMenuCloudWindow()
+{
+    /* Update corresponding menu: */
+    updateMenuCloudWrapper(action(UIActionIndexST_M_CloudWindow)->menu());
+
+    /* Mark menu as valid: */
+    m_invalidations.remove(UIActionIndexST_M_CloudWindow);
+}
+
+void UIActionPoolSelector::updateMenuCloud()
+{
+    /* Update corresponding menu: */
+    updateMenuCloudWrapper(action(UIActionIndexST_M_Cloud)->menu());
+
+    /* Mark menu as valid: */
+    m_invalidations.remove(UIActionIndexST_M_Cloud);
+}
+
+void UIActionPoolSelector::updateMenuCloudWrapper(UIMenu *pMenu)
+{
+    /* Clear contents: */
+    pMenu->clear();
+
+    /* Separator? */
+    bool fSeparator = false;
+
+    /* 'Create' action: */
+    fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_S_Create)) || fSeparator;
+    /* 'Remove' action: */
+    fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_S_Remove)) || fSeparator;
+
+    /* Separator? */
+    if (fSeparator)
+    {
+        pMenu->addSeparator();
+        fSeparator = false;
+    }
+
+    /* 'Properties' action: */
+    fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_T_Details)) || fSeparator;
+
+//    /* Separator? */
+//    if (fSeparator)
+//    {
+//        pMenu->addSeparator();
+//        fSeparator = false;
+//    }
+
+//    /* 'Refresh' action: */
+//    fSeparator = addAction(pMenu, action(UIActionIndexST_M_Cloud_S_Refresh)) || fSeparator;;
+}
+
 void UIActionPoolSelector::updateShortcuts()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.h	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolSelector.h	(revision 74868)
@@ -37,4 +37,5 @@
     UIActionIndexST_M_File_S_ShowVirtualMediumManager,
     UIActionIndexST_M_File_S_ShowHostNetworkManager,
+    UIActionIndexST_M_File_S_ShowCloudProfileManager,
     UIActionIndexST_M_File_S_ImportAppliance,
     UIActionIndexST_M_File_S_ExportAppliance,
@@ -107,4 +108,5 @@
     UIActionIndexST_M_Tools_M_Global_S_VirtualMediaManager,
     UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager,
+    UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager,
 
     /* Snapshot Pane actions: */
@@ -135,4 +137,12 @@
     UIActionIndexST_M_Network_S_Refresh,
 
+    /* Host Cloud Profile actions: */
+    UIActionIndexST_M_CloudWindow,
+    UIActionIndexST_M_Cloud,
+    UIActionIndexST_M_Cloud_S_Create,
+    UIActionIndexST_M_Cloud_S_Remove,
+    UIActionIndexST_M_Cloud_T_Details,
+    UIActionIndexST_M_Cloud_S_Refresh,
+
     /* Maximum index: */
     UIActionIndexST_Max
@@ -175,4 +185,11 @@
     void updateMenuNetworkWrapper(UIMenu *pMenu);
 
+    /** Updates 'Cloud' window menu. */
+    void updateMenuCloudWindow();
+    /** Updates 'Cloud' menu. */
+    void updateMenuCloud();
+    /** Updates 'Cloud' @a pMenu. */
+    void updateMenuCloudWrapper(UIMenu *pMenu);
+
     /** Updates shortcuts. */
     virtual void updateShortcuts() /* override */;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolbarTools.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolbarTools.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIToolbarTools.cpp	(revision 74868)
@@ -227,4 +227,9 @@
         m_pActionPool->action(UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager)
             ->setProperty("ToolTypeGlobal", QVariant::fromValue(ToolTypeGlobal_Network));
+
+        /* Add 'Cloud Profile Manager' action: */
+        pMenuGlobal->addAction(m_pActionPool->action(UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager));
+        connect(m_pActionPool->action(UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager), &UIAction::triggered,
+                this, &UIToolbarTools::sltHandleOpenToolGlobal);
     }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 74868)
@@ -30,4 +30,5 @@
 # include "QIFileDialog.h"
 # include "UIActionPoolSelector.h"
+# include "UICloudProfileManager.h"
 # include "UIDesktopServices.h"
 # include "UIExtraDataManager.h"
@@ -117,6 +118,8 @@
     , m_pVirtualMediaManagerMenuAction(0)
     , m_pHostNetworkManagerMenuAction(0)
+    , m_pCloudProfileManagerMenuAction(0)
     , m_pManagerVirtualMedia(0)
     , m_pManagerHostNetwork(0)
+    , m_pManagerCloudProfile(0)
 {
     s_pInstance = this;
@@ -445,4 +448,27 @@
 }
 
+void UIVirtualBoxManager::sltOpenCloudProfileManagerWindow()
+{
+    /* Create instance if not yet created: */
+    if (!m_pManagerCloudProfile)
+    {
+        UICloudProfileManagerFactory(m_pActionPool).prepare(m_pManagerCloudProfile, this);
+        connect(m_pManagerCloudProfile, &QIManagerDialog::sigClose,
+                this, &UIVirtualBoxManager::sltCloseCloudProfileManagerWindow);
+    }
+
+    /* Show instance: */
+    m_pManagerCloudProfile->show();
+    m_pManagerCloudProfile->setWindowState(m_pManagerCloudProfile->windowState() & ~Qt::WindowMinimized);
+    m_pManagerCloudProfile->activateWindow();
+}
+
+void UIVirtualBoxManager::sltCloseCloudProfileManagerWindow()
+{
+    /* Destroy instance if still exists: */
+    if (m_pManagerCloudProfile)
+        UIHostNetworkManagerFactory().cleanup(m_pManagerCloudProfile);
+}
+
 void UIVirtualBoxManager::sltOpenImportApplianceWizard(const QString &strFileName /* = QString() */)
 {
@@ -1250,4 +1276,8 @@
     prepareMenuNetwork(actionPool()->action(UIActionIndexST_M_Network)->menu());
     m_pHostNetworkManagerMenuAction = menuBar()->addMenu(actionPool()->action(UIActionIndexST_M_Network)->menu());
+
+    /* Prepare 'Cloud' menu: */
+    //prepareMenuCloud(actionPool()->action(UIActionIndexST_M_Cloud)->menu());
+    //m_pCloudProfileManagerMenuAction = menuBar()->addMenu(actionPool()->action(UIActionIndexST_M_Cloud)->menu());
 
 #ifdef VBOX_WS_MAC
@@ -1303,4 +1333,6 @@
     /* 'Show Host Network Manager' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+    /* 'Show Cloud Profile Manager' action goes to 'File' menu: */
+    //pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 
 #else /* !VBOX_WS_MAC */
@@ -1321,4 +1353,5 @@
     addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowVirtualMediumManager));
     addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+    //addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 #  ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
@@ -1347,4 +1380,6 @@
     /* 'Show Host Network Manager' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+    /* 'Show Cloud Profile Manager' action goes to 'File' menu: */
+    //pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     /* 'Network Access Manager' action goes to 'File' menu: */
@@ -1714,4 +1749,20 @@
 }
 
+void UIVirtualBoxManager::prepareMenuCloud(QMenu *pMenu)
+{
+    /* We are doing it inside the UIActionPoolSelector. */
+    Q_UNUSED(pMenu);
+
+    /* Do not touch if filled already: */
+    if (!m_cloudProfileManagerActions.isEmpty())
+        return;
+
+    /* Remember action list: */
+    m_cloudProfileManagerActions << actionPool()->action(UIActionIndexST_M_Cloud_S_Create)
+                                 << actionPool()->action(UIActionIndexST_M_Cloud_S_Remove)
+                                 << actionPool()->action(UIActionIndexST_M_Cloud_T_Details)
+                                 << actionPool()->action(UIActionIndexST_M_Cloud_S_Refresh);
+}
+
 void UIVirtualBoxManager::prepareStatusBar()
 {
@@ -1766,4 +1817,6 @@
     connect(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager), &UIAction::triggered,
             this, &UIVirtualBoxManager::sltOpenHostNetworkManagerWindow);
+    connect(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager), &UIAction::triggered,
+            this, &UIVirtualBoxManager::sltOpenCloudProfileManagerWindow);
     connect(actionPool()->action(UIActionIndexST_M_File_S_ImportAppliance), &UIAction::triggered,
             this, &UIVirtualBoxManager::sltOpenImportApplianceWizardDefault);
@@ -1915,4 +1968,5 @@
     sltCloseVirtualMediumManagerWindow();
     sltCloseHostNetworkManagerWindow();
+    sltCloseCloudProfileManagerWindow();
 
     /* Save settings: */
@@ -1984,7 +2038,7 @@
             VBoxGlobal::LaunchMode enmItemLaunchMode = enmLaunchMode;
             if (enmItemLaunchMode == VBoxGlobal::LaunchMode_Invalid)
-                enmItemLaunchMode = UIVirtualMachineItem::isItemRunningHeadless(pItem)         ? VBoxGlobal::LaunchMode_Separate :
-                                    qApp->keyboardModifiers() == Qt::ShiftModifier ? VBoxGlobal::LaunchMode_Headless :
-                                                                                     VBoxGlobal::LaunchMode_Default;
+                enmItemLaunchMode = UIVirtualMachineItem::isItemRunningHeadless(pItem) ? VBoxGlobal::LaunchMode_Separate :
+                                    qApp->keyboardModifiers() == Qt::ShiftModifier     ? VBoxGlobal::LaunchMode_Headless :
+                                                                                         VBoxGlobal::LaunchMode_Default;
 
             /* Launch current VM: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.h	(revision 74868)
@@ -134,4 +134,9 @@
         /** Handles call to close Host Network Manager window. */
         void sltCloseHostNetworkManagerWindow();
+
+        /** Handles call to open Cloud Profile Manager window. */
+        void sltOpenCloudProfileManagerWindow();
+        /** Handles call to close Cloud Profile Manager window. */
+        void sltCloseCloudProfileManagerWindow();
 
         /** Handles call to close a Machine LogViewer window. */
@@ -256,4 +261,6 @@
         /** Prepares @a pMenu Network. */
         void prepareMenuNetwork(QMenu *pMenu);
+        /** Prepares @a pMenu Cloud. */
+        void prepareMenuCloud(QMenu *pMenu);
         /** Prepares status-bar. */
         void prepareStatusBar();
@@ -376,8 +383,15 @@
     QAction          *m_pHostNetworkManagerMenuAction;
 
+    /** Holds the list of Cloud Profile Manager menu actions. */
+    QList<UIAction*>  m_cloudProfileManagerActions;
+    /** Holds the Cloud Profile Manager menu parent action. */
+    QAction          *m_pCloudProfileManagerMenuAction;
+
     /** Holds the Virtual Media Manager window instance. */
     QIManagerDialog *m_pManagerVirtualMedia;
     /** Holds the Host Network Manager window instance. */
     QIManagerDialog *m_pManagerHostNetwork;
+    /** Holds the Cloud Profile Manager window instance. */
+    QIManagerDialog *m_pManagerCloudProfile;
     /** Holds a map of (machineUUID, UIVMLogViewerDialog). */
     VMLogViewerMap   m_logViewers;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 74868)
@@ -1345,4 +1345,5 @@
         m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowVirtualMediumManager));
         m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+        m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 
 #else /* !VBOX_WS_MAC */
@@ -1358,4 +1359,5 @@
         m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowVirtualMediumManager));
         m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+        m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER
         m_pContextMenuGlobal->addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.cpp	(revision 74868)
@@ -33,4 +33,5 @@
 # include "QISplitter.h"
 # include "UIActionPoolSelector.h"
+# include "UICloudProfileManager.h"
 # include "UIDesktopServices.h"
 # include "UIErrorString.h"
@@ -140,4 +141,5 @@
     , m_pManagerVirtualMedia(0)
     , m_pManagerHostNetwork(0)
+    , m_pManagerCloudProfile(0)
 {
     m_spInstance = this;
@@ -502,4 +504,27 @@
 }
 
+void UISelectorWindow::sltOpenCloudProfileManagerWindow()
+{
+    /* Create instance if not yet created: */
+    if (!m_pManagerCloudProfile)
+    {
+        UICloudProfileManagerFactory(m_pActionPool).prepare(m_pManagerCloudProfile, this);
+        connect(m_pManagerCloudProfile, &QIManagerDialog::sigClose,
+                this, &UISelectorWindow::sltCloseCloudProfileManagerWindow);
+    }
+
+    /* Show instance: */
+    m_pManagerCloudProfile->show();
+    m_pManagerCloudProfile->setWindowState(m_pManagerCloudProfile->windowState() & ~Qt::WindowMinimized);
+    m_pManagerCloudProfile->activateWindow();
+}
+
+void UISelectorWindow::sltCloseCloudProfileManagerWindow()
+{
+    /* Destroy instance if still exists: */
+    if (m_pManagerCloudProfile)
+        UICloudProfileManagerFactory().cleanup(m_pManagerCloudProfile);
+}
+
 void UISelectorWindow::sltOpenImportApplianceWizard(const QString &strFileName /* = QString() */)
 {
@@ -1585,4 +1610,6 @@
     /* 'Show Host Network Manager' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+    /* 'Show Cloud Profile Manager' action goes to 'File' menu: */
+    //pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 
 #else /* !VBOX_WS_MAC */
@@ -1603,4 +1630,5 @@
     addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowVirtualMediumManager));
     addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+    //addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 #  ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     addAction(actionPool()->action(UIActionIndex_M_Application_S_NetworkAccessManager));
@@ -1629,4 +1657,6 @@
     /* 'Show Host Network Manager' action goes to 'File' menu: */
     pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager));
+    /* 'Show Cloud Profile Manager' action goes to 'File' menu: */
+    //pMenu->addAction(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager));
 # ifdef VBOX_GUI_WITH_NETWORK_MANAGER
     /* 'Network Access Manager' action goes to 'File' menu: */
@@ -2115,4 +2145,5 @@
     connect(actionPool()->action(UIActionIndexST_M_File_S_ShowVirtualMediumManager), SIGNAL(triggered()), this, SLOT(sltOpenVirtualMediumManagerWindow()));
     connect(actionPool()->action(UIActionIndexST_M_File_S_ShowHostNetworkManager), SIGNAL(triggered()), this, SLOT(sltOpenHostNetworkManagerWindow()));
+    connect(actionPool()->action(UIActionIndexST_M_File_S_ShowCloudProfileManager), SIGNAL(triggered()), this, SLOT(sltOpenCloudProfileManagerWindow()));
     connect(actionPool()->action(UIActionIndexST_M_File_S_ImportAppliance), SIGNAL(triggered()), this, SLOT(sltOpenImportApplianceWizard()));
     connect(actionPool()->action(UIActionIndexST_M_File_S_ExportAppliance), SIGNAL(triggered()), this, SLOT(sltOpenExportApplianceWizard()));
@@ -2264,5 +2295,6 @@
         QMap<ToolTypeGlobal, QAction*> mapActionsGlobal;
         mapActionsGlobal[ToolTypeGlobal_VirtualMedia] = actionPool()->action(UIActionIndexST_M_Tools_M_Global_S_VirtualMediaManager);
-        mapActionsGlobal[ToolTypeGlobal_HostNetwork] = actionPool()->action(UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager);
+        mapActionsGlobal[ToolTypeGlobal_HostNetwork]  = actionPool()->action(UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager);
+        mapActionsGlobal[ToolTypeGlobal_CloudProfile] = actionPool()->action(UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager);
         for (int i = m_orderGlobal.size() - 1; i >= 0; --i)
             if (m_orderGlobal.at(i) != ToolTypeGlobal_Invalid)
@@ -2332,4 +2364,5 @@
     sltCloseVirtualMediumManagerWindow();
     sltCloseHostNetworkManagerWindow();
+    sltCloseCloudProfileManagerWindow();
 
     /* Save settings: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.h	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISelectorWindow.h	(revision 74868)
@@ -131,4 +131,8 @@
         /** Handles call to close Host Network Manager window. */
         void sltCloseHostNetworkManagerWindow();
+        /** Handles call to open Cloud Profile Manager window. */
+        void sltOpenCloudProfileManagerWindow();
+        /** Handles call to close Cloud Profile Manager window. */
+        void sltCloseCloudProfileManagerWindow();
         /** Handles call to close a Machine LogViewer window. */
         void sltCloseLogViewerWindow();
@@ -389,4 +393,6 @@
     /** Holds the Host Network Manager window instance. */
     QIManagerDialog *m_pManagerHostNetwork;
+    /** Holds the Host Cloud Profile window instance. */
+    QIManagerDialog *m_pManagerCloudProfile;
     /** Holds a map of (machineUUID, UIVMLogViewerDialog). */
     VMLogViewerMap m_logViewers;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIToolsToolbar.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIToolsToolbar.cpp	(revision 74867)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UIToolsToolbar.cpp	(revision 74868)
@@ -251,4 +251,9 @@
         m_pActionPool->action(UIActionIndexST_M_Tools_M_Global_S_HostNetworkManager)
             ->setProperty("ToolTypeGlobal", QVariant::fromValue(ToolTypeGlobal_HostNetwork));
+
+        /* Add 'Cloud Profile Manager' action: */
+        pMenuGlobal->addAction(m_pActionPool->action(UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager));
+        connect(m_pActionPool->action(UIActionIndexST_M_Tools_M_Global_S_CloudProfileManager), &UIAction::triggered,
+                this, &UIToolsToolbar::sltHandleOpenToolGlobal);
     }
 
