Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 43620)
@@ -93,4 +93,5 @@
     virtual void updateToolTip() = 0;
     virtual QString name() const = 0;
+    virtual QString fullName() const = 0;
     virtual QString definition() const = 0;
     void setRoot(bool fRoot);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 43620)
@@ -185,4 +185,17 @@
 {
     return m_strName;
+}
+
+QString UIGChooserItemGroup::fullName() const
+{
+    /* Return "/" for root-group: */
+    if (!parentItem())
+        return "/";
+    /* Get full parent name, append with '/' if not yet appended: */
+    QString strParentFullName = parentItem()->fullName();
+    if (!strParentFullName.endsWith('/'))
+        strParentFullName.append('/');
+    /* Return full item name based on parent prefix: */
+    return strParentFullName + name();
 }
 
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.h	(revision 43620)
@@ -68,4 +68,5 @@
     /* API: Basic stuff: */
     QString name() const;
+    QString fullName() const;
     QString definition() const;
     void setName(const QString &strName);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.cpp	(revision 43620)
@@ -134,4 +134,14 @@
 }
 
+QString UIGChooserItemMachine::fullName() const
+{
+    /* Get full parent name, append with '/' if not yet appended: */
+    QString strParentFullName = parentItem()->fullName();
+    if (!strParentFullName.endsWith('/'))
+        strParentFullName.append('/');
+    /* Return full item name based on parent prefix: */
+    return strParentFullName + name();
+}
+
 QString UIGChooserItemMachine::definition() const
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemMachine.h	(revision 43620)
@@ -58,4 +58,5 @@
     /* API: Basic stuff: */
     QString name() const;
+    QString fullName() const;
     QString definition() const;
     bool isLockedMachine() const;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.cpp	(revision 43620)
@@ -821,5 +821,5 @@
     QString strGroupName;
     if (pGroup)
-        strGroupName = fullName(pGroup);
+        strGroupName = pGroup->fullName();
 
     /* Start the new vm wizard: */
@@ -1712,5 +1712,5 @@
 {
     /* Prepare extra-data key for the parent-item: */
-    QString strExtraDataKey = UIDefs::GUI_GroupDefinitions + fullName(pParentItem);
+    QString strExtraDataKey = UIDefs::GUI_GroupDefinitions + pParentItem->fullName();
     /* Read group definitions: */
     QStringList definitions = vboxGlobal().virtualBox().GetExtraDataStringList(strExtraDataKey);
@@ -1783,5 +1783,5 @@
 {
     /* Prepare extra-data key for the parent-item: */
-    QString strExtraDataKey = UIDefs::GUI_GroupDefinitions + fullName(pParentItem);
+    QString strExtraDataKey = UIDefs::GUI_GroupDefinitions + pParentItem->fullName();
     /* Read group definitions: */
     QStringList definitions = vboxGlobal().virtualBox().GetExtraDataStringList(strExtraDataKey);
@@ -1881,5 +1881,5 @@
         if (UIGChooserItemMachine *pMachineItem = pItem->toMachineItem())
             if (pMachineItem->accessible())
-                groups[pMachineItem->id()] << fullName(pParentGroup);
+                groups[pMachineItem->id()] << pParentGroup->fullName();
     /* Iterate over all the group-items: */
     foreach (UIGChooserItem *pItem, pParentGroup->items(UIGChooserItemType_Group))
@@ -1891,5 +1891,5 @@
 {
     /* Prepare extra-data key for current group: */
-    QString strExtraDataKey = UIDefs::GUI_GroupDefinitions + fullName(pParentItem);
+    QString strExtraDataKey = UIDefs::GUI_GroupDefinitions + pParentItem->fullName();
     /* Iterate over all the group-items: */
     foreach (UIGChooserItem *pItem, pParentItem->items(UIGChooserItemType_Group))
@@ -1903,18 +1903,4 @@
         groups[strExtraDataKey] << QString("m=%1").arg(pItem->toMachineItem()->id());
 }
-
-QString UIGChooserModel::fullName(UIGChooserItem *pItem)
-{
-    /* Return '/' for root-group: */
-    if (!pItem->parentItem())
-        return QString("/");
-    /* Get full parent name, append with '/' if not yet appended: */
-    QString strParentFullName = fullName(pItem->parentItem());
-    if (!strParentFullName.endsWith("/"))
-        strParentFullName += QString("/");
-    /* Return full item name based on parent prefix: */
-    return strParentFullName + pItem->name();
-}
-
 
 void UIGChooserModel::makeSureGroupDefinitionsSaveIsFinished()
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 43619)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserModel.h	(revision 43620)
@@ -271,5 +271,4 @@
     void gatherGroupDefinitions(QMap<QString, QStringList> &groups, UIGChooserItem *pParentGroup);
     void gatherGroupOrders(QMap<QString, QStringList> &groups, UIGChooserItem *pParentItem);
-    QString fullName(UIGChooserItem *pItem);
     void makeSureGroupDefinitionsSaveIsFinished();
     void makeSureGroupOrdersSaveIsFinished();
