Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 43592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 43593)
@@ -693,6 +693,138 @@
 }
 
+void UIGChooserModel::sltEditGroupName()
+{
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Group_Rename)->isEnabled())
+        return;
+
+    /* Only for single selected group: */
+    if (!isSingleGroupSelected())
+        return;
+
+    /* Start editing group name: */
+    currentItem()->startEditing();
+}
+
+void UIGChooserModel::sltSortGroup()
+{
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Group_Sort)->isEnabled())
+        return;
+
+    /* Only for single selected group: */
+    if (!isSingleGroupSelected())
+        return;
+
+    /* Sorting group: */
+    sortItems(currentItem());
+}
+
+void UIGChooserModel::sltUngroupSelectedGroup()
+{
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Group_Remove)->isEnabled())
+        return;
+
+    /* Make sure focus item is of group type! */
+    AssertMsg(focusItem()->type() == UIGChooserItemType_Group, ("This is not group-item!"));
+
+    /* Check if we have collisions with our siblings: */
+    UIGChooserItem *pFocusItem = focusItem();
+    UIGChooserItem *pParentItem = pFocusItem->parentItem();
+    QList<UIGChooserItem*> siblings = pParentItem->items();
+    QList<UIGChooserItem*> toBeRenamed;
+    QList<UIGChooserItem*> toBeRemoved;
+    foreach (UIGChooserItem *pItem, pFocusItem->items())
+    {
+        QString strItemName = pItem->name();
+        UIGChooserItem *pCollisionSibling = 0;
+        foreach (UIGChooserItem *pSibling, siblings)
+            if (pSibling != pFocusItem && pSibling->name() == strItemName)
+                pCollisionSibling = pSibling;
+        if (pCollisionSibling)
+        {
+            if (pItem->type() == UIGChooserItemType_Machine)
+            {
+                if (pCollisionSibling->type() == UIGChooserItemType_Machine)
+                    toBeRemoved << pItem;
+                else if (pCollisionSibling->type() == UIGChooserItemType_Group)
+                {
+                    msgCenter().notifyAboutCollisionOnGroupRemovingCantBeResolved(strItemName, pParentItem->name());
+                    return;
+                }
+            }
+            else if (pItem->type() == UIGChooserItemType_Group)
+            {
+                if (msgCenter().askAboutCollisionOnGroupRemoving(strItemName, pParentItem->name()) == QIMessageBox::Ok)
+                    toBeRenamed << pItem;
+                else
+                    return;
+            }
+        }
+    }
+
+    /* Copy all the children into our parent: */
+    foreach (UIGChooserItem *pItem, pFocusItem->items())
+    {
+        if (toBeRemoved.contains(pItem))
+            continue;
+        switch (pItem->type())
+        {
+            case UIGChooserItemType_Group:
+            {
+                UIGChooserItemGroup *pGroupItem = new UIGChooserItemGroup(pParentItem, pItem->toGroupItem());
+                if (toBeRenamed.contains(pItem))
+                    pGroupItem->setName(uniqueGroupName(pParentItem));
+                break;
+            }
+            case UIGChooserItemType_Machine:
+            {
+                new UIGChooserItemMachine(pParentItem, pItem->toMachineItem());
+                break;
+            }
+        }
+    }
+
+    /* Delete focus group: */
+    delete focusItem();
+
+    /* And update model: */
+    updateNavigation();
+    updateLayout();
+    setCurrentItem(navigationList().first());
+    saveGroupSettings();
+}
+
+void UIGChooserModel::sltCreateNewMachine()
+{
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Machine_New)->isEnabled())
+        return;
+
+    /* Choose the parent: */
+    UIGChooserItem *pGroup = 0;
+    if (isSingleGroupSelected())
+        pGroup = currentItem();
+    else if (!currentItems().isEmpty())
+        pGroup = currentItem()->parentItem();
+    QString strGroupName;
+    if (pGroup)
+        strGroupName = fullName(pGroup);
+
+    /* Start the new vm wizard: */
+    UISafePointerWizard pWizard = new UIWizardNewVM(&vboxGlobal().selectorWnd(), strGroupName);
+    pWizard->prepare();
+    pWizard->exec();
+    if (pWizard)
+        delete pWizard;
+}
+
 void UIGChooserModel::sltGroupSelectedMachines()
 {
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Machine_AddGroup)->isEnabled())
+        return;
+
     /* Create new group in the current root: */
     UIGChooserItemGroup *pNewGroupItem = new UIGChooserItemGroup(root(), uniqueGroupName(root()), true);
@@ -740,117 +872,4 @@
 }
 
-void UIGChooserModel::sltEditGroupName()
-{
-    /* Check if action is enabled: */
-    if (!gActionPool->action(UIActionIndexSelector_Simple_Group_Rename)->isEnabled())
-        return;
-
-    /* Only for single selected group: */
-    if (!isSingleGroupSelected())
-        return;
-
-    /* Start editing group name: */
-    currentItem()->startEditing();
-}
-
-void UIGChooserModel::sltSortGroup()
-{
-    /* Only for single selected group: */
-    if (!isSingleGroupSelected())
-        return;
-
-    /* Sorting group: */
-    sortItems(currentItem());
-}
-
-void UIGChooserModel::sltUngroupSelectedGroup()
-{
-    /* Make sure focus item is of group type! */
-    AssertMsg(focusItem()->type() == UIGChooserItemType_Group, ("This is not group-item!"));
-
-    /* Check if we have collisions with our siblings: */
-    UIGChooserItem *pFocusItem = focusItem();
-    UIGChooserItem *pParentItem = pFocusItem->parentItem();
-    QList<UIGChooserItem*> siblings = pParentItem->items();
-    QList<UIGChooserItem*> toBeRenamed;
-    QList<UIGChooserItem*> toBeRemoved;
-    foreach (UIGChooserItem *pItem, pFocusItem->items())
-    {
-        QString strItemName = pItem->name();
-        UIGChooserItem *pCollisionSibling = 0;
-        foreach (UIGChooserItem *pSibling, siblings)
-            if (pSibling != pFocusItem && pSibling->name() == strItemName)
-                pCollisionSibling = pSibling;
-        if (pCollisionSibling)
-        {
-            if (pItem->type() == UIGChooserItemType_Machine)
-            {
-                if (pCollisionSibling->type() == UIGChooserItemType_Machine)
-                    toBeRemoved << pItem;
-                else if (pCollisionSibling->type() == UIGChooserItemType_Group)
-                {
-                    msgCenter().notifyAboutCollisionOnGroupRemovingCantBeResolved(strItemName, pParentItem->name());
-                    return;
-                }
-            }
-            else if (pItem->type() == UIGChooserItemType_Group)
-            {
-                if (msgCenter().askAboutCollisionOnGroupRemoving(strItemName, pParentItem->name()) == QIMessageBox::Ok)
-                    toBeRenamed << pItem;
-                else
-                    return;
-            }
-        }
-    }
-
-    /* Copy all the children into our parent: */
-    foreach (UIGChooserItem *pItem, pFocusItem->items())
-    {
-        if (toBeRemoved.contains(pItem))
-            continue;
-        switch (pItem->type())
-        {
-            case UIGChooserItemType_Group:
-            {
-                UIGChooserItemGroup *pGroupItem = new UIGChooserItemGroup(pParentItem, pItem->toGroupItem());
-                if (toBeRenamed.contains(pItem))
-                    pGroupItem->setName(uniqueGroupName(pParentItem));
-                break;
-            }
-            case UIGChooserItemType_Machine:
-            {
-                new UIGChooserItemMachine(pParentItem, pItem->toMachineItem());
-                break;
-            }
-        }
-    }
-
-    /* Delete focus group: */
-    delete focusItem();
-
-    /* And update model: */
-    updateNavigation();
-    updateLayout();
-    setCurrentItem(navigationList().first());
-    saveGroupSettings();
-}
-
-void UIGChooserModel::sltCreateNewMachine()
-{
-    UIGChooserItem *pGroup = 0;
-    if (isSingleGroupSelected())
-        pGroup = currentItem();
-    else if (!currentItems().isEmpty())
-        pGroup = currentItem()->parentItem();
-    QString strGroupName;
-    if (pGroup)
-        strGroupName = fullName(pGroup);
-    UISafePointerWizard pWizard = new UIWizardNewVM(&vboxGlobal().selectorWnd(), strGroupName);
-    pWizard->prepare();
-    pWizard->exec();
-    if (pWizard)
-        delete pWizard;
-}
-
 void UIGChooserModel::sltReloadMachine(const QString &strId)
 {
@@ -877,4 +896,8 @@
 void UIGChooserModel::sltSortParentGroup()
 {
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Machine_SortParent)->isEnabled())
+        return;
+
     /* Only if some item selected: */
     if (!currentItem())
@@ -887,4 +910,8 @@
 void UIGChooserModel::sltPerformRefreshAction()
 {
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Common_Refresh)->isEnabled())
+        return;
+
     /* Gather list of chosen inaccessible VMs: */
     QList<UIGChooserItem*> inaccessibleItems;
@@ -920,4 +947,8 @@
 void UIGChooserModel::sltRemoveSelectedMachine()
 {
+    /* Check if action is enabled: */
+    if (!gActionPool->action(UIActionIndexSelector_Simple_Machine_Remove)->isEnabled())
+        return;
+
     /* Enumerate all the selected machine-items: */
     QList<UIGChooserItem*> selectedMachineItemList = gatherMachineItems(currentItems());
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 43592)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 43593)
@@ -175,5 +175,4 @@
 
     /* Handlers: Group-item stuff: */
-    void sltGroupSelectedMachines();
     void sltEditGroupName();
     void sltSortGroup();
@@ -182,4 +181,5 @@
     /* Handlers: Machine-item stuff: */
     void sltCreateNewMachine();
+    void sltGroupSelectedMachines();
     void sltReloadMachine(const QString &strId);
     void sltSortParentGroup();
