Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp	(revision 37609)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp	(revision 37610)
@@ -28,4 +28,10 @@
     : QTreeWidget (aParent)
 {
+}
+
+void QITreeWidget::setSizeHintForItems(const QSize &sizeHint)
+{
+    for (int i = 0; i < topLevelItemCount(); ++i)
+        topLevelItem(i)->setSizeHint(0, sizeHint);
 }
 
@@ -60,12 +66,2 @@
 }
 
-void QITreeWidget::addTopBottomMarginToItems (int aMargin)
-{
-    for (int i = 0; i < topLevelItemCount(); ++ i)
-    {
-        QTreeWidgetItem *item = topLevelItem (i);
-        QSize s = item->sizeHint (0);
-        item->setSizeHint (0, QSize (s.width(), s.height() + 2 * aMargin));
-    }
-}
-
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h	(revision 37609)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h	(revision 37610)
@@ -34,5 +34,5 @@
     QITreeWidget (QWidget *aParent = 0);
 
-    void addTopBottomMarginToItems (int aMargin);
+    void setSizeHintForItems(const QSize &sizeHint);
 
 signals:
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp	(revision 37609)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/VBoxSettingsSelector.cpp	(revision 37610)
@@ -285,13 +285,20 @@
 void VBoxSettingsTreeViewSelector::polish()
 {
-    mTwSelector->setFixedWidth (static_cast<QAbstractItemView*> (mTwSelector)
-        ->sizeHintForColumn (treeWidget_Category) + 2 * mTwSelector->frameWidth());
-
-    /* Sort selector by the id column */
-    mTwSelector->sortItems (treeWidget_Id, Qt::AscendingOrder);
-    mTwSelector->resizeColumnToContents (treeWidget_Category);
-
-    /* Add some margin to every item in the tree */
-    mTwSelector->addTopBottomMarginToItems (12);
+    /* Get recommended size hint: */
+    int iItemWidth = static_cast<QAbstractItemView*>(mTwSelector)->sizeHintForColumn(treeWidget_Category);
+    int iItemHeight = qMax(16 /* icon height */, mTwSelector->fontMetrics().height() /* text height */);
+    /* Add some margin to every item in the tree: */
+    iItemHeight += 4 /* margin itself */ * 2 /* margin count */;
+    /* Set final size hint for items: */
+    mTwSelector->setSizeHintForItems(QSize(iItemWidth , iItemHeight));
+
+    /* Fix selector width to minimum possible: */
+    mTwSelector->setFixedWidth(iItemWidth + 2 * mTwSelector->frameWidth());
+
+    /* Sort selector by the id column: */
+    mTwSelector->sortItems(treeWidget_Id, Qt::AscendingOrder);
+
+    /* Resize column(s) to content: */
+    mTwSelector->resizeColumnToContents(treeWidget_Category);
 }
 
