Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.cpp	(revision 43806)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.cpp	(revision 43807)
@@ -348,4 +348,16 @@
 
 /* static */
+QSize UIGChooserItem::textSize(const QFont &font, QPaintDevice *pPaintDevice, const QString &strText)
+{
+    /* Make sure text is not empty: */
+    if (strText.isEmpty())
+        return QSize(0, 0);
+
+    /* Return text size, based on font-metrics: */
+    QFontMetrics fm(font, pPaintDevice);
+    return QSize(fm.width(strText), fm.height());
+}
+
+/* static */
 int UIGChooserItem::textWidth(const QFont &font, QPaintDevice *pPaintDevice, int iCount)
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 43806)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItem.h	(revision 43807)
@@ -173,5 +173,6 @@
     int dragTokenDarkness() const { return m_iDragTokenDarkness; }
 
-    /* Helpers: Text compression stuff: */
+    /* Helpers: Text processing stuff: */
+    static QSize textSize(const QFont &font, QPaintDevice *pPaintDevice, const QString &strText);
     static int textWidth(const QFont &font, QPaintDevice *pPaintDevice, int iCount);
     static QString compressText(const QFont &font, QPaintDevice *pPaintDevice, QString strText, int iWidth);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 43806)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/chooser/UIGChooserItemGroup.cpp	(revision 43807)
@@ -359,29 +359,12 @@
             return QSize(fm.width(strCompressedName), fm.height());
         }
-        case GroupItemData_NameSize:
-        {
-            if (isMainRoot())
-                return QSize(0, 0);
-            QFontMetrics fm(m_nameFont, model()->paintDevice());
-            return QSize(fm.width(data(GroupItemData_Name).toString()) + 2, fm.height());
-        }
-        case GroupItemData_GroupPixmapSize:
-            return isMainRoot() ? QSize(0, 0) : m_groupsPixmap.size();
-        case GroupItemData_MachinePixmapSize:
-            return isMainRoot() ? QSize(0, 0) : m_machinesPixmap.size();
-        case GroupItemData_GroupCountTextSize:
-        {
-            if (isMainRoot())
-                return QSize(0, 0);
-            QFontMetrics fm(m_infoFont, model()->paintDevice());
-            return QSize(fm.width(data(GroupItemData_GroupCountText).toString()), fm.height());
-        }
-        case GroupItemData_MachineCountTextSize:
-        {
-            if (isMainRoot())
-                return QSize(0, 0);
-            QFontMetrics fm(m_infoFont, model()->paintDevice());
-            return QSize(fm.width(data(GroupItemData_MachineCountText).toString()), fm.height());
-        }
+        case GroupItemData_NameSize: return isMainRoot() ? QSize(0, 0) : textSize(m_nameFont, model()->paintDevice(),
+                                                                                  data(GroupItemData_Name).toString());
+        case GroupItemData_GroupPixmapSize: return isMainRoot() ? QSize(0, 0) : m_groupsPixmap.size();
+        case GroupItemData_MachinePixmapSize: return isMainRoot() ? QSize(0, 0) : m_machinesPixmap.size();
+        case GroupItemData_GroupCountTextSize: return isMainRoot() ? QSize(0, 0) : textSize(m_infoFont, model()->paintDevice(),
+                                                                                            data(GroupItemData_GroupCountText).toString());
+        case GroupItemData_MachineCountTextSize: return isMainRoot() ? QSize(0, 0) : textSize(m_infoFont, model()->paintDevice(),
+                                                                                              data(GroupItemData_MachineCountText).toString());
         case GroupItemData_FullHeaderSize:
         {
