Index: trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 90410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManager.cpp	(revision 90411)
@@ -1247,14 +1247,9 @@
                             if (strConsoleConnectionFingerprint.isEmpty())
                             {
-                                /* Acquire machine name: */
-                                QString strName;
-                                if (cloudMachineName(comMachine, strName))
-                                {
-                                    /* Create cloud console connection: */
-                                    UINotificationProgressCloudConsoleConnectionCreate *pNotification =
-                                        new UINotificationProgressCloudConsoleConnectionCreate(comMachine,
-                                                                                               pDialog->publicKey());
-                                    notificationCenter().append(pNotification);
-                                }
+                                /* Create cloud console connection: */
+                                UINotificationProgressCloudConsoleConnectionCreate *pNotification =
+                                    new UINotificationProgressCloudConsoleConnectionCreate(comMachine,
+                                                                                           pDialog->publicKey());
+                                notificationCenter().append(pNotification);
                             }
                         }
@@ -1294,14 +1289,9 @@
                     if (strConsoleConnectionFingerprint.isEmpty())
                     {
-                        /* Acquire machine name: */
-                        QString strName;
-                        if (cloudMachineName(comMachine, strName))
-                        {
-                            /* Create cloud console connection: */
-                            UINotificationProgressCloudConsoleConnectionCreate *pNotification =
-                                new UINotificationProgressCloudConsoleConnectionCreate(comMachine,
-                                                                                       pDialog->publicKey());
-                            notificationCenter().append(pNotification);
-                        }
+                        /* Create cloud console connection: */
+                        UINotificationProgressCloudConsoleConnectionCreate *pNotification =
+                            new UINotificationProgressCloudConsoleConnectionCreate(comMachine,
+                                                                                   pDialog->publicKey());
+                        notificationCenter().append(pNotification);
                     }
                 }
@@ -1338,13 +1328,8 @@
                     if (!strConsoleConnectionFingerprint.isEmpty())
                     {
-                        /* Acquire machine name: */
-                        QString strName;
-                        if (cloudMachineName(comMachine, strName))
-                        {
-                            /* Delete cloud console connection: */
-                            UINotificationProgressCloudConsoleConnectionDelete *pNotification =
-                                new UINotificationProgressCloudConsoleConnectionDelete(comMachine);
-                            notificationCenter().append(pNotification);
-                        }
+                        /* Delete cloud console connection: */
+                        UINotificationProgressCloudConsoleConnectionDelete *pNotification =
+                            new UINotificationProgressCloudConsoleConnectionDelete(comMachine);
+                        notificationCenter().append(pNotification);
                     }
                 }
@@ -1375,13 +1360,8 @@
             if (!strConsoleConnectionFingerprint.isEmpty())
             {
-                /* Acquire machine name: */
-                QString strName;
-                if (cloudMachineName(comMachine, strName))
-                {
-                    /* Delete cloud console connection: */
-                    UINotificationProgressCloudConsoleConnectionDelete *pNotification =
-                        new UINotificationProgressCloudConsoleConnectionDelete(comMachine);
-                    notificationCenter().append(pNotification);
-                }
+                /* Delete cloud console connection: */
+                UINotificationProgressCloudConsoleConnectionDelete *pNotification =
+                    new UINotificationProgressCloudConsoleConnectionDelete(comMachine);
+                notificationCenter().append(pNotification);
             }
         }
@@ -1702,6 +1682,8 @@
     foreach (UIVirtualMachineItem *pItem, items)
     {
+        /* Sanity check: */
+        AssertPtrReturnVoid(pItem);
+
         /* Check if current item could be saved: */
-        AssertPtrReturnVoid(pItem);
         if (!isActionEnabled(UIActionIndexMN_M_Machine_M_Close_S_SaveState, QList<UIVirtualMachineItem*>() << pItem))
             continue;
@@ -1740,27 +1722,11 @@
     foreach (UIVirtualMachineItem *pItem, itemsToTerminate)
     {
-        /* Get cloud machine: */
+        /* Sanity check: */
         AssertPtrReturnVoid(pItem);
-        UIVirtualMachineItemCloud *pCloudItem = pItem->toCloud();
-        AssertPtrReturnVoid(pCloudItem);
-        CCloudMachine comMachine = pCloudItem->machine();
-
-        /* Acquire machine name: */
-        QString strName;
-        if (!cloudMachineName(comMachine, strName))
-            continue;
-
-        /* Prepare terminate cloud instance progress: */
-        CProgress comProgress = comMachine.Terminate();
-        if (!comMachine.isOk())
-        {
-            msgCenter().cannotTerminateCloudInstance(comMachine);
-            continue;
-        }
-
-        /* Show terminate cloud instance progress: */
-        msgCenter().showModalProgressDialog(comProgress, strName, ":/progress_delete_cloud_vm_90px.png", 0, 0);
-        if (!comProgress.isOk() || comProgress.GetResultCode() != 0)
-            msgCenter().cannotTerminateCloudInstance(comProgress, strName);
+
+        /* Terminating cloud VM: */
+        UINotificationProgressCloudMachineTerminate *pNotification =
+            new UINotificationProgressCloudMachineTerminate(pItem->toCloud()->machine());
+        notificationCenter().append(pNotification);
     }
 }
@@ -1792,4 +1758,7 @@
     foreach (UIVirtualMachineItem *pItem, itemsToShutdown)
     {
+        /* Sanity check: */
+        AssertPtrReturnVoid(pItem);
+
         /* For local machine: */
         if (pItem->itemType() == UIVirtualMachineItemType_Local)
@@ -1815,5 +1784,5 @@
             /* Shutting cloud VM down: */
             UINotificationProgressCloudMachineShutdown *pNotification =
-                    new UINotificationProgressCloudMachineShutdown(pItem->toCloud()->machine());
+                new UINotificationProgressCloudMachineShutdown(pItem->toCloud()->machine());
             notificationCenter().append(pNotification);
         }
Index: trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.cpp
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.cpp	(revision 90410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.cpp	(revision 90411)
@@ -749,4 +749,44 @@
 
 /*********************************************************************************************************************************
+*   Class UINotificationProgressCloudMachineTerminate implementation.                                                            *
+*********************************************************************************************************************************/
+
+UINotificationProgressCloudMachineTerminate::UINotificationProgressCloudMachineTerminate(const CCloudMachine &comMachine)
+    : m_comMachine(comMachine)
+{
+}
+
+QString UINotificationProgressCloudMachineTerminate::name() const
+{
+    return   UINotificationProgress::tr("Terminating cloud VM ...");
+}
+
+QString UINotificationProgressCloudMachineTerminate::details() const
+{
+    return UINotificationProgress::tr("<b>VM Name:</b> %1").arg(m_strName);
+}
+
+CProgress UINotificationProgressCloudMachineTerminate::createProgress(COMResult &comResult)
+{
+    /* Acquire cloud VM name: */
+    m_strName = m_comMachine.GetName();
+    if (!m_comMachine.isOk())
+    {
+        /* Store COM result: */
+        comResult = m_comMachine;
+        /* Return progress-wrapper: */
+        return CProgress();
+    }
+
+    /* Initialize progress-wrapper: */
+    CProgress comProgress = m_comMachine.Terminate();
+    /* Store COM result: */
+    comResult = m_comMachine;
+    /* Return progress-wrapper: */
+    return comProgress;
+}
+
+
+/*********************************************************************************************************************************
 *   Class UINotificationProgressCloudConsoleConnectionCreate implementation.                                                     *
 *********************************************************************************************************************************/
Index: trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.h	(revision 90410)
+++ trunk/src/VBox/Frontends/VirtualBox/src/notificationcenter/UINotificationObjects.h	(revision 90411)
@@ -588,4 +588,32 @@
 };
 
+/** UINotificationProgress extension for cloud machine terminate functionality. */
+class SHARED_LIBRARY_STUFF UINotificationProgressCloudMachineTerminate : public UINotificationProgress
+{
+    Q_OBJECT;
+
+public:
+
+    /** Constructs cloud machine terminate notification-progress.
+      * @param  comMachine  Brings the machine being terminate. */
+    UINotificationProgressCloudMachineTerminate(const CCloudMachine &comMachine);
+
+protected:
+
+    /** Returns object name. */
+    virtual QString name() const /* override final */;
+    /** Returns object details. */
+    virtual QString details() const /* override final */;
+    /** Creates and returns started progress-wrapper. */
+    virtual CProgress createProgress(COMResult &comResult) /* override final */;
+
+private:
+
+    /** Holds the machine being terminated. */
+    CCloudMachine  m_comMachine;
+    /** Holds the machine name. */
+    QString        m_strName;
+};
+
 /** UINotificationProgress extension for cloud console connection create functionality. */
 class SHARED_LIBRARY_STUFF UINotificationProgressCloudConsoleConnectionCreate : public UINotificationProgress
