Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 43615)
@@ -107,4 +107,5 @@
     virtual UIGChooserItem* searchForItem(const QString &strSearchTag, int iItemSearchFlags) = 0;
     virtual UIGChooserItemMachine* firstMachineItem() = 0;
+    virtual void sortItems() = 0;
 
     /* API: Layout stuff: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 43615)
@@ -779,4 +779,23 @@
 }
 
+void UIGChooserItemGroup::sortItems()
+{
+    /* Sort group-items: */
+    QMap<QString, UIGChooserItem*> sorter;
+    foreach (UIGChooserItem *pItem, items(UIGChooserItemType_Group))
+        sorter.insert(pItem->name().toLower(), pItem);
+    setItems(sorter.values(), UIGChooserItemType_Group);
+
+    /* Sort machine-items: */
+    sorter.clear();
+    foreach (UIGChooserItem *pItem, items(UIGChooserItemType_Machine))
+        sorter.insert(pItem->name().toLower(), pItem);
+    setItems(sorter.values(), UIGChooserItemType_Machine);
+
+    /* Update model: */
+    model()->updateNavigation();
+    model()->updateLayout();
+}
+
 void UIGChooserItemGroup::updateLayout()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h	(revision 43615)
@@ -150,4 +150,5 @@
     UIGChooserItem* searchForItem(const QString &strSearchTag, int iItemSearchFlags);
     UIGChooserItemMachine* firstMachineItem();
+    void sortItems();
 
     /* Helpers: Layout stuff: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp	(revision 43615)
@@ -390,4 +390,9 @@
 }
 
+void UIGChooserItemMachine::sortItems()
+{
+    AssertMsgFailed(("Machine graphics item do NOT support children!"));
+}
+
 void UIGChooserItemMachine::updateLayout()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h	(revision 43615)
@@ -126,4 +126,5 @@
     UIGChooserItem* searchForItem(const QString &strSearchTag, int iItemSearchFlags);
     UIGChooserItemMachine* firstMachineItem();
+    void sortItems();
 
     /* Helpers: Layout stuff: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 43615)
@@ -728,5 +728,5 @@
 
     /* Sorting group: */
-    sortItems(currentItem());
+    currentItem()->sortItems();
 }
 
@@ -915,5 +915,5 @@
 
     /* Sorting parent group: */
-    sortItems(currentItem()->parentItem());
+    currentItem()->parentItem()->sortItems();
 }
 
@@ -1425,23 +1425,4 @@
             unindentRoot();
     }
-}
-
-void UIGChooserModel::sortItems(UIGChooserItem *pParent)
-{
-    /* Sort group-items: */
-    QMap<QString, UIGChooserItem*> sorter;
-    foreach (UIGChooserItem *pItem, pParent->items(UIGChooserItemType_Group))
-        sorter.insert(pItem->name().toLower(), pItem);
-    pParent->setItems(sorter.values(), UIGChooserItemType_Group);
-
-    /* Sort machine-items: */
-    sorter.clear();
-    foreach (UIGChooserItem *pItem, pParent->items(UIGChooserItemType_Machine))
-        sorter.insert(pItem->name().toLower(), pItem);
-    pParent->setItems(sorter.values(), UIGChooserItemType_Machine);
-
-    /* Update model: */
-    updateNavigation();
-    updateLayout();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 43614)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 43615)
@@ -247,5 +247,4 @@
 
     /* Helpers: Machine-item stuff: */
-    void sortItems(UIGChooserItem *pParent);
     void updateMachineItems(const QString &strId, UIGChooserItem *pParent);
     void removeMachineItems(const QString &strId, UIGChooserItem *pParent);
