Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 86604)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.cpp	(revision 86605)
@@ -636,66 +636,4 @@
 }
 
-void UIChooserAbstractModel::sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
-                                                       const CCloudMachine &comMachine, bool fSelect)
-{
-    /* Search for profile node: */
-    const QString strProfileNodeName = QString("/%1/%2").arg(strProviderShortName, strProfileName);
-    QList<UIChooserNode*> profileNodes;
-    invisibleRoot()->searchForNodes(strProfileNodeName, UIChooserItemSearchFlag_CloudProfile | UIChooserItemSearchFlag_ExactId, profileNodes);
-    AssertReturnVoid(!profileNodes.isEmpty());
-    UIChooserNode *pProfileNode = profileNodes.first();
-    AssertPtrReturnVoid(pProfileNode);
-
-    /* Add new machine-item: */
-    addCloudMachineIntoTheTree(strProfileNodeName, comMachine, fSelect);
-
-    /* Search for possible fake node: */
-    QList<UIChooserNode*> fakeNodes;
-    pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
-    /* Delete fake node if present: */
-    delete fakeNodes.value(0);
-}
-
-void UIChooserAbstractModel::sltCloudMachineRegistrationChanged(const QString &strProviderShortName, const QString &strProfileName,
-                                                                const QUuid &uMachineId, const bool fRegistered)
-{
-    /* Search for profile node: */
-    const QString strProfileNodeName = QString("/%1/%2").arg(strProviderShortName, strProfileName);
-    QList<UIChooserNode*> profileNodes;
-    invisibleRoot()->searchForNodes(strProfileNodeName, UIChooserItemSearchFlag_CloudProfile | UIChooserItemSearchFlag_ExactId, profileNodes);
-    AssertReturnVoid(!profileNodes.isEmpty());
-    UIChooserNode *pProfileNode = profileNodes.first();
-    AssertPtrReturnVoid(pProfileNode);
-
-    /* Existing VM unregistered? */
-    if (!fRegistered)
-    {
-        /* Remove machine-items with passed id: */
-        pProfileNode->removeAllNodes(uMachineId);
-
-        /* If there are no items left: */
-        if (pProfileNode->nodes(UIChooserNodeType_Machine).isEmpty())
-        {
-            /* Add fake cloud VM item: */
-            new UIChooserNodeMachine(pProfileNode /* parent */,
-                                     0 /* position */,
-                                     UIFakeCloudVirtualMachineItemState_Done);
-        }
-    }
-    /* New VM registered? */
-    else
-    {
-        /* Add new machine-item: */
-        const CCloudMachine comMachine = cloudMachineById(strProviderShortName, strProfileName, uMachineId);
-        addCloudMachineIntoTheTree(strProfileNodeName, comMachine, true /* make it visible */);
-
-        /* Search for possible fake node: */
-        QList<UIChooserNode*> fakeNodes;
-        pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
-        /* Delete fake node if present: */
-        delete fakeNodes.value(0);
-    }
-}
-
 void UIChooserAbstractModel::sltSessionStateChanged(const QUuid &uMachineId, const KSessionState)
 {
@@ -751,4 +689,66 @@
     saveGroupSettings();
     saveGroupDefinitions();
+}
+
+void UIChooserAbstractModel::sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
+                                                       const CCloudMachine &comMachine, bool fSelect)
+{
+    /* Search for profile node: */
+    const QString strProfileNodeName = QString("/%1/%2").arg(strProviderShortName, strProfileName);
+    QList<UIChooserNode*> profileNodes;
+    invisibleRoot()->searchForNodes(strProfileNodeName, UIChooserItemSearchFlag_CloudProfile | UIChooserItemSearchFlag_ExactId, profileNodes);
+    AssertReturnVoid(!profileNodes.isEmpty());
+    UIChooserNode *pProfileNode = profileNodes.first();
+    AssertPtrReturnVoid(pProfileNode);
+
+    /* Add new machine-item: */
+    addCloudMachineIntoTheTree(strProfileNodeName, comMachine, fSelect);
+
+    /* Search for possible fake node: */
+    QList<UIChooserNode*> fakeNodes;
+    pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
+    /* Delete fake node if present: */
+    delete fakeNodes.value(0);
+}
+
+void UIChooserAbstractModel::sltCloudMachineRegistrationChanged(const QString &strProviderShortName, const QString &strProfileName,
+                                                                const QUuid &uMachineId, const bool fRegistered)
+{
+    /* Search for profile node: */
+    const QString strProfileNodeName = QString("/%1/%2").arg(strProviderShortName, strProfileName);
+    QList<UIChooserNode*> profileNodes;
+    invisibleRoot()->searchForNodes(strProfileNodeName, UIChooserItemSearchFlag_CloudProfile | UIChooserItemSearchFlag_ExactId, profileNodes);
+    AssertReturnVoid(!profileNodes.isEmpty());
+    UIChooserNode *pProfileNode = profileNodes.first();
+    AssertPtrReturnVoid(pProfileNode);
+
+    /* Existing VM unregistered? */
+    if (!fRegistered)
+    {
+        /* Remove machine-items with passed id: */
+        pProfileNode->removeAllNodes(uMachineId);
+
+        /* If there are no items left: */
+        if (pProfileNode->nodes(UIChooserNodeType_Machine).isEmpty())
+        {
+            /* Add fake cloud VM item: */
+            new UIChooserNodeMachine(pProfileNode /* parent */,
+                                     0 /* position */,
+                                     UIFakeCloudVirtualMachineItemState_Done);
+        }
+    }
+    /* New VM registered? */
+    else
+    {
+        /* Add new machine-item: */
+        const CCloudMachine comMachine = cloudMachineById(strProviderShortName, strProfileName, uMachineId);
+        addCloudMachineIntoTheTree(strProfileNodeName, comMachine, true /* make it visible */);
+
+        /* Search for possible fake node: */
+        QList<UIChooserNode*> fakeNodes;
+        pProfileNode->searchForNodes(QUuid().toString(), UIChooserItemSearchFlag_Machine | UIChooserItemSearchFlag_ExactId, fakeNodes);
+        /* Delete fake node if present: */
+        delete fakeNodes.value(0);
+    }
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 86604)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserAbstractModel.h	(revision 86605)
@@ -145,4 +145,23 @@
         /** Handles local machine registering/unregistering for machine with certain @a uMachineId. */
         virtual void sltLocalMachineRegistrationChanged(const QUuid &uMachineId, const bool fRegistered);
+
+        /** Handles session @a enmState change for machine with certain @a uMachineId. */
+        virtual void sltSessionStateChanged(const QUuid &uMachineId, const KSessionState enmState);
+
+        /** Handles snapshot change for machine/snapshot with certain @a uMachineId / @a uSnapshotId. */
+        virtual void sltSnapshotChanged(const QUuid &uMachineId, const QUuid &uSnapshotId);
+
+        /** Handles event about cloud provider with @a uProviderId being uninstalled. */
+        virtual void sltHandleCloudProviderUninstall(const QUuid &uProviderId);
+    /** @} */
+
+    /** @name Children stuff.
+      * @{ */
+        /** Handles reload machine with certain @a uMachineId request. */
+        virtual void sltReloadMachine(const QUuid &uMachineId);
+    /** @} */
+
+    /** @name Cloud stuff.
+      * @{ */
         /** Handles cloud machine registering for @a comMachine.
           * @param  strProviderShortName  Brings provider short name.
@@ -156,22 +175,8 @@
         virtual void sltCloudMachineRegistrationChanged(const QString &strProviderShortName, const QString &strProfileName,
                                                         const QUuid &uMachineId, const bool fRegistered);
-        /** Handles session @a enmState change for machine with certain @a uMachineId. */
-        virtual void sltSessionStateChanged(const QUuid &uMachineId, const KSessionState enmState);
-        /** Handles snapshot change for machine/snapshot with certain @a uMachineId / @a uSnapshotId. */
-        virtual void sltSnapshotChanged(const QUuid &uMachineId, const QUuid &uSnapshotId);
-        /** Handles event about cloud provider with @a uProviderId being uninstalled. */
-        virtual void sltHandleCloudProviderUninstall(const QUuid &uProviderId);
-    /** @} */
-
-    /** @name Children stuff.
-      * @{ */
-        /** Handles reload machine with certain @a uMachineId request. */
-        virtual void sltReloadMachine(const QUuid &uMachineId);
-    /** @} */
-
-    /** @name Cloud stuff.
-      * @{ */
+
         /** Handles list cloud machines task complete signal. */
         virtual void sltHandleCloudListMachinesTaskComplete(UITask *pTask);
+
         /** Handles Cloud Profile Manager cumulative change. */
         virtual void sltHandleCloudProfileManagerCumulativeChange();
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 86604)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.cpp	(revision 86605)
@@ -1111,42 +1111,33 @@
 }
 
-void UIChooserModel::sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
-                                               const CCloudMachine &comMachine, bool fSelect)
-{
+void UIChooserModel::sltHandleCloudProviderUninstall(const QUuid &uProviderId)
+{
+    /* Search for selected cloud machine items: */
+    foreach (UIVirtualMachineItem *pItem, selectedMachineItems())
+    {
+        /* Skip unrelated nodes: */
+        AssertPtrReturnVoid(pItem);
+        UIVirtualMachineItemCloud *pCloudItem = pItem->toCloud();
+        if (!pCloudItem)
+            continue;
+
+        /* Wait for cloud machine refresh task to complete: */
+        pCloudItem->waitForAsyncInfoUpdateFinished();
+    }
+
     /* Call to base-class: */
-    UIChooserAbstractModel::sltCloudMachineRegistered(strProviderShortName, strProfileName, comMachine, fSelect);
-
-    /* Rebuild tree for main root: */
-    buildTreeForMainRoot(false /* preserve selection */);
-
-    /* Select newly added item: */
-    if (fSelect)
-    {
-        QUuid uMachineId;
-        if (cloudMachineId(comMachine, uMachineId))
-            setSelectedItem(root()->searchForItem(uMachineId.toString(),
-                                                  UIChooserItemSearchFlag_Machine |
-                                                  UIChooserItemSearchFlag_ExactId));
-    }
-}
-
-void UIChooserModel::sltCloudMachineRegistrationChanged(const QString &strProviderShortName, const QString &strProfileName,
-                                                        const QUuid &uMachineId, const bool fRegistered)
-{
-    /* Existing VM unregistered => make sure no item with passed uMachineId is selected: */
-    if (!fRegistered)
-        makeSureNoItemWithCertainIdSelected(uMachineId);
-
+    UIChooserAbstractModel::sltHandleCloudProviderUninstall(uProviderId);
+
+    /* Notify about selection invalidated: */
+    emit sigSelectionInvalidated();
+}
+
+void UIChooserModel::sltReloadMachine(const QUuid &uMachineId)
+{
     /* Call to base-class: */
-    UIChooserAbstractModel::sltCloudMachineRegistrationChanged(strProviderShortName, strProfileName, uMachineId, fRegistered);
-
-    /* Existing VM unregistered? */
-    if (!fRegistered)
-    {
-        /* Rebuild tree for main root: */
-        buildTreeForMainRoot(true /* preserve selection */);
-    }
-    /* New VM registered? */
-    else
+    UIChooserAbstractModel::sltReloadMachine(uMachineId);
+
+    /* Should we show this VM? */
+    if (gEDataManager->showMachineInVirtualBoxManagerChooser(uMachineId))
     {
         /* Rebuild tree for main root: */
@@ -1157,35 +1148,48 @@
                                               UIChooserItemSearchFlag_ExactId));
     }
-}
-
-void UIChooserModel::sltHandleCloudProviderUninstall(const QUuid &uProviderId)
-{
-    /* Search for selected cloud machine items: */
-    foreach (UIVirtualMachineItem *pItem, selectedMachineItems())
-    {
-        /* Skip unrelated nodes: */
-        AssertPtrReturnVoid(pItem);
-        UIVirtualMachineItemCloud *pCloudItem = pItem->toCloud();
-        if (!pCloudItem)
-            continue;
-
-        /* Wait for cloud machine refresh task to complete: */
-        pCloudItem->waitForAsyncInfoUpdateFinished();
-    }
-
+    makeSureAtLeastOneItemSelected();
+
+    /* Notify listeners about selection change: */
+    emit sigSelectionChanged();
+}
+
+void UIChooserModel::sltCloudMachineRegistered(const QString &strProviderShortName, const QString &strProfileName,
+                                               const CCloudMachine &comMachine, bool fSelect)
+{
     /* Call to base-class: */
-    UIChooserAbstractModel::sltHandleCloudProviderUninstall(uProviderId);
-
-    /* Notify about selection invalidated: */
-    emit sigSelectionInvalidated();
-}
-
-void UIChooserModel::sltReloadMachine(const QUuid &uMachineId)
-{
+    UIChooserAbstractModel::sltCloudMachineRegistered(strProviderShortName, strProfileName, comMachine, fSelect);
+
+    /* Rebuild tree for main root: */
+    buildTreeForMainRoot(false /* preserve selection */);
+
+    /* Select newly added item: */
+    if (fSelect)
+    {
+        QUuid uMachineId;
+        if (cloudMachineId(comMachine, uMachineId))
+            setSelectedItem(root()->searchForItem(uMachineId.toString(),
+                                                  UIChooserItemSearchFlag_Machine |
+                                                  UIChooserItemSearchFlag_ExactId));
+    }
+}
+
+void UIChooserModel::sltCloudMachineRegistrationChanged(const QString &strProviderShortName, const QString &strProfileName,
+                                                        const QUuid &uMachineId, const bool fRegistered)
+{
+    /* Existing VM unregistered => make sure no item with passed uMachineId is selected: */
+    if (!fRegistered)
+        makeSureNoItemWithCertainIdSelected(uMachineId);
+
     /* Call to base-class: */
-    UIChooserAbstractModel::sltReloadMachine(uMachineId);
-
-    /* Should we show this VM? */
-    if (gEDataManager->showMachineInVirtualBoxManagerChooser(uMachineId))
+    UIChooserAbstractModel::sltCloudMachineRegistrationChanged(strProviderShortName, strProfileName, uMachineId, fRegistered);
+
+    /* Existing VM unregistered? */
+    if (!fRegistered)
+    {
+        /* Rebuild tree for main root: */
+        buildTreeForMainRoot(true /* preserve selection */);
+    }
+    /* New VM registered? */
+    else
     {
         /* Rebuild tree for main root: */
@@ -1196,8 +1200,4 @@
                                               UIChooserItemSearchFlag_ExactId));
     }
-    makeSureAtLeastOneItemSelected();
-
-    /* Notify listeners about selection change: */
-    emit sigSelectionChanged();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 86604)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserModel.h	(revision 86605)
@@ -263,4 +263,17 @@
         /** Handles local machine registering/unregistering for machine with certain @a uMachineId. */
         virtual void sltLocalMachineRegistrationChanged(const QUuid &uMachineId, const bool fRegistered) /* override */;
+
+        /** Handles event about cloud provider with @a uProviderId being uninstalled. */
+        virtual void sltHandleCloudProviderUninstall(const QUuid &uProviderId) /* override */;
+    /** @} */
+
+    /** @name Children stuff.
+      * @{ */
+        /** Handles reload machine with certain @a uMachineId request. */
+        virtual void sltReloadMachine(const QUuid &uMachineId) /* override */;
+    /** @} */
+
+    /** @name Cloud stuff.
+      * @{ */
         /** Handles cloud machine registering for @a comMachine.
           * @param  strProviderShortName  Brings provider short name.
@@ -274,18 +287,8 @@
         virtual void sltCloudMachineRegistrationChanged(const QString &strProviderShortName, const QString &strProfileName,
                                                         const QUuid &uMachineId, const bool fRegistered) /* override */;
-        /** Handles event about cloud provider with @a uProviderId being uninstalled. */
-        virtual void sltHandleCloudProviderUninstall(const QUuid &uProviderId) /* override */;
-    /** @} */
-
-    /** @name Children stuff.
-      * @{ */
-        /** Handles reload machine with certain @a uMachineId request. */
-        virtual void sltReloadMachine(const QUuid &uMachineId) /* override */;
-    /** @} */
-
-    /** @name Cloud stuff.
-      * @{ */
+
         /** Handles list cloud machines task complete signal. */
         virtual void sltHandleCloudListMachinesTaskComplete(UITask *pTask) /* override */;
+
         /** Handles Cloud Profile Manager cumulative changes. */
         virtual void sltHandleCloudProfileManagerCumulativeChange() /* override */;
