Index: trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 2972)
+++ trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 2973)
@@ -92,7 +92,4 @@
 	ui/VBoxVMSettingsDlg.ui.h \
 	ui/VBoxSharedFoldersSettings.ui.h
-ifeq ($(BUILD_TARGET),win)
-VirtualBox_QT_MOCUIHDRS += ui/VBoxVMNetworkSettings.ui.h
-endif
 
 
Index: trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMNetworkSettings.ui
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMNetworkSettings.ui	(revision 2972)
+++ trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMNetworkSettings.ui	(revision 2973)
@@ -27,7 +27,15 @@
             <x>0</x>
             <y>0</y>
-            <width>361</width>
-            <height>368</height>
+            <width>442</width>
+            <height>353</height>
         </rect>
+    </property>
+    <property name="sizePolicy">
+        <sizepolicy>
+            <hsizetype>5</hsizetype>
+            <vsizetype>1</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+        </sizepolicy>
     </property>
     <property name="caption">
@@ -39,5 +47,5 @@
         </property>
         <property name="spacing">
-            <number>10</number>
+            <number>0</number>
         </property>
         <widget class="QGroupBox">
@@ -48,5 +56,5 @@
                 <sizepolicy>
                     <hsizetype>5</hsizetype>
-                    <vsizetype>5</vsizetype>
+                    <vsizetype>1</vsizetype>
                     <horstretch>0</horstretch>
                     <verstretch>0</verstretch>
@@ -68,135 +76,131 @@
                 <widget class="QLayoutWidget">
                     <property name="name">
-                        <cstring>layout121</cstring>
-                    </property>
-                    <hbox>
+                        <cstring>layout345</cstring>
+                    </property>
+                    <grid>
                         <property name="name">
                             <cstring>unnamed</cstring>
                         </property>
-                        <widget class="QLayoutWidget">
-                            <property name="name">
-                                <cstring>layout35</cstring>
-                            </property>
-                            <vbox>
-                                <property name="name">
-                                    <cstring>unnamed</cstring>
-                                </property>
-                                <widget class="QLabel">
-                                    <property name="name">
-                                        <cstring>txNetworkAttachment</cstring>
-                                    </property>
-                                    <property name="sizePolicy">
-                                        <sizepolicy>
-                                            <hsizetype>0</hsizetype>
-                                            <vsizetype>0</vsizetype>
-                                            <horstretch>0</horstretch>
-                                            <verstretch>0</verstretch>
-                                        </sizepolicy>
-                                    </property>
-                                    <property name="text">
-                                        <string>&amp;Attached to</string>
-                                    </property>
-                                    <property name="buddy" stdset="0">
-                                        <cstring>cbNetworkAttachment</cstring>
-                                    </property>
-                                </widget>
-                                <widget class="QComboBox">
-                                    <property name="name">
-                                        <cstring>cbNetworkAttachment</cstring>
-                                    </property>
-                                    <property name="whatsThis" stdset="0">
-                                        <string>Controls the way how this virtual adapter is attached to the real network of the Host OS.</string>
-                                    </property>
-                                </widget>
-                            </vbox>
-                        </widget>
-                        <widget class="QLayoutWidget">
-                            <property name="name">
-                                <cstring>layout11</cstring>
-                            </property>
-                            <vbox>
-                                <property name="name">
-                                    <cstring>unnamed</cstring>
-                                </property>
-                                <widget class="QLabel">
-                                    <property name="name">
-                                        <cstring>txMACAddress</cstring>
-                                    </property>
-                                    <property name="sizePolicy">
-                                        <sizepolicy>
-                                            <hsizetype>0</hsizetype>
-                                            <vsizetype>0</vsizetype>
-                                            <horstretch>0</horstretch>
-                                            <verstretch>0</verstretch>
-                                        </sizepolicy>
-                                    </property>
-                                    <property name="text">
-                                        <string>&amp;MAC Address</string>
-                                    </property>
-                                    <property name="buddy" stdset="0">
-                                        <cstring>leMACAddress</cstring>
-                                    </property>
-                                </widget>
-                                <widget class="QLineEdit">
-                                    <property name="name">
-                                        <cstring>leMACAddress</cstring>
-                                    </property>
-                                    <property name="frameShape">
-                                        <enum>LineEditPanel</enum>
-                                    </property>
-                                    <property name="frameShadow">
-                                        <enum>Sunken</enum>
-                                    </property>
-                                    <property name="whatsThis" stdset="0">
+                        <widget class="QLabel" row="1" column="0">
+                            <property name="name">
+                                <cstring>txHostInterface_WIN</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>0</hsizetype>
+                                    <vsizetype>5</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="text">
+                                <string>&amp;Interface Name</string>
+                            </property>
+                            <property name="buddy" stdset="0">
+                                <cstring>cbHostInterfaceName</cstring>
+                            </property>
+                        </widget>
+                        <widget class="QLineEdit" row="2" column="1">
+                            <property name="name">
+                                <cstring>leMACAddress</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>7</hsizetype>
+                                    <vsizetype>0</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="frameShape">
+                                <enum>LineEditPanel</enum>
+                            </property>
+                            <property name="frameShadow">
+                                <enum>Sunken</enum>
+                            </property>
+                            <property name="whatsThis" stdset="0">
                                         <string>Displays the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}.</string>
-                                    </property>
-                                </widget>
-                            </vbox>
-                        </widget>
-                        <widget class="QLayoutWidget">
-                            <property name="name">
-                                <cstring>layout12</cstring>
-                            </property>
-                            <vbox>
-                                <property name="name">
-                                    <cstring>unnamed</cstring>
-                                </property>
-                                <property name="spacing">
-                                    <number>0</number>
-                                </property>
-                                <spacer>
-                                    <property name="name">
-                                        <cstring>spacer6</cstring>
-                                    </property>
-                                    <property name="orientation">
-                                        <enum>Vertical</enum>
-                                    </property>
-                                    <property name="sizeType">
-                                        <enum>Minimum</enum>
-                                    </property>
-                                    <property name="sizeHint">
-                                        <size>
-                                            <width>20</width>
-                                            <height>20</height>
-                                        </size>
-                                    </property>
-                                </spacer>
-                                <widget class="QPushButton">
-                                    <property name="name">
-                                        <cstring>pbGenerateMAC</cstring>
-                                    </property>
-                                    <property name="text">
-                                        <string>&amp;Generate</string>
-                                    </property>
-                                    <property name="accel">
-                                        <string>Alt+G</string>
-                                    </property>
-                                    <property name="whatsThis" stdset="0">
-                                        <string>Generates a new random MAC address.</string>
-                                    </property>
-                                </widget>
-                            </vbox>
-                        </widget>
-                    </hbox>
+                            </property>
+                        </widget>
+                        <widget class="QComboBox" row="0" column="1" rowspan="1" colspan="2">
+                            <property name="name">
+                                <cstring>cbNetworkAttachment</cstring>
+                            </property>
+                            <property name="whatsThis" stdset="0">
+	                            <string>Controls the way how this virtual adapter is attached to the real network of the Host OS.</string>
+                            </property>
+                        </widget>
+                        <widget class="QToolButton" row="2" column="2">
+                            <property name="name">
+                                <cstring>pbGenerateMAC</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>5</hsizetype>
+                                    <vsizetype>1</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="focusPolicy">
+                                <enum>StrongFocus</enum>
+                            </property>
+                            <property name="text">
+                                <string>&amp;Generate</string>
+                            </property>
+                            <property name="accel">
+                                <string>Alt+G</string>
+                            </property>
+                            <property name="whatsThis" stdset="0">
+                                <string>Generates a new random MAC address.</string>
+                            </property>
+                        </widget>
+                        <widget class="QLabel" row="0" column="0">
+                            <property name="name">
+                                <cstring>txNetworkAttachment</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>0</hsizetype>
+                                    <vsizetype>0</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="text">
+                                <string>&amp;Attached to</string>
+                            </property>
+                            <property name="buddy" stdset="0">
+                                <cstring>cbNetworkAttachment</cstring>
+                            </property>
+                        </widget>
+                        <widget class="QLabel" row="2" column="0">
+                            <property name="name">
+                                <cstring>txMACAddress</cstring>
+                            </property>
+                            <property name="sizePolicy">
+                                <sizepolicy>
+                                    <hsizetype>0</hsizetype>
+                                    <vsizetype>0</vsizetype>
+                                    <horstretch>0</horstretch>
+                                    <verstretch>0</verstretch>
+                                </sizepolicy>
+                            </property>
+                            <property name="text">
+                                <string>&amp;MAC Address</string>
+                            </property>
+                            <property name="buddy" stdset="0">
+                                <cstring>leMACAddress</cstring>
+                            </property>
+                        </widget>
+                        <widget class="QComboBox" row="1" column="1" rowspan="1" colspan="2">
+                            <property name="name">
+                                <cstring>cbHostInterfaceName</cstring>
+                            </property>
+                            <property name="whatsThis" stdset="0">
+                                <string>Displays the name of the host interface selected for this adapter.</string>
+                            </property>
+                        </widget>
+                    </grid>
                 </widget>
                 <widget class="QCheckBox">
@@ -230,5 +234,5 @@
                         <widget class="QLayoutWidget">
                             <property name="name">
-                                <cstring>layout33</cstring>
+                                <cstring>layout120</cstring>
                             </property>
                             <hbox>
@@ -236,10 +240,7 @@
                                     <cstring>unnamed</cstring>
                                 </property>
-                                <property name="spacing">
-                                    <number>0</number>
-                                </property>
                                 <widget class="QFrame">
                                     <property name="name">
-                                        <cstring>frmHostInterface_WIN</cstring>
+                                        <cstring>frmHostInterface_X11</cstring>
                                     </property>
                                     <property name="frameShape">
@@ -249,5 +250,5 @@
                                         <enum>Raised</enum>
                                     </property>
-                                    <grid>
+                                    <vbox>
                                         <property name="name">
                                             <cstring>unnamed</cstring>
@@ -256,262 +257,81 @@
                                             <number>0</number>
                                         </property>
-                                        <property name="spacing">
-                                            <number>6</number>
-                                        </property>
-                                        <widget class="QLayoutWidget" row="0" column="0">
-                                            <property name="name">
-                                                <cstring>layout31</cstring>
-                                            </property>
-                                            <hbox>
-                                                <property name="name">
-                                                    <cstring>unnamed</cstring>
-                                                </property>
-                                                <widget class="QLabel">
-                                                    <property name="name">
-                                                        <cstring>txHostInterface_WIN</cstring>
-                                                    </property>
-                                                    <property name="sizePolicy">
-                                                        <sizepolicy>
-                                                            <hsizetype>0</hsizetype>
-                                                            <vsizetype>5</vsizetype>
-                                                            <horstretch>0</horstretch>
-                                                            <verstretch>0</verstretch>
-                                                        </sizepolicy>
-                                                    </property>
-                                                    <property name="text">
-                                                        <string>&amp;Interface Name</string>
-                                                    </property>
-                                                    <property name="buddy" stdset="0">
-                                                        <cstring>leHostInterfaceName</cstring>
-                                                    </property>
-                                                </widget>
-                                                <widget class="QLineEdit">
-                                                    <property name="name">
-                                                        <cstring>leHostInterfaceName</cstring>
-                                                    </property>
-                                                    <property name="focusPolicy">
-                                                        <enum>NoFocus</enum>
-                                                    </property>
-                                                    <property name="readOnly">
-                                                        <bool>true</bool>
-                                                    </property>
-                                                    <property name="whatsThis" stdset="0">
-                                                        <string>Displays the name of the host interface selected for this adapter.</string>
-                                                    </property>
-                                                </widget>
-                                            </hbox>
-                                        </widget>
-                                        <widget class="QListBox" row="1" column="0">
-                                            <property name="name">
-                                                <cstring>lbHostInterface</cstring>
+                                        <widget class="QLabel">
+                                            <property name="name">
+                                                <cstring>txHostInterface_X11</cstring>
                                             </property>
                                             <property name="sizePolicy">
                                                 <sizepolicy>
-                                                    <hsizetype>7</hsizetype>
-                                                    <vsizetype>7</vsizetype>
+                                                    <hsizetype>0</hsizetype>
+                                                    <vsizetype>5</vsizetype>
                                                     <horstretch>0</horstretch>
                                                     <verstretch>0</verstretch>
                                                 </sizepolicy>
                                             </property>
+                                            <property name="text">
+                                                <string>&amp;Interface Name</string>
+                                            </property>
+                                            <property name="buddy" stdset="0">
+                                                <cstring>leHostInterface</cstring>
+                                            </property>
+                                        </widget>
+                                        <widget class="QLineEdit">
+                                            <property name="name">
+                                                <cstring>leHostInterface</cstring>
+                                            </property>
                                             <property name="whatsThis" stdset="0">
-                                                <string>Lists all available host interfaces.</string>
-                                            </property>
-                                        </widget>
-                                        <widget class="QLayoutWidget" row="1" column="1">
-                                            <property name="name">
-                                                <cstring>layout27</cstring>
-                                            </property>
-                                            <vbox>
-                                                <property name="name">
-                                                    <cstring>unnamed</cstring>
-                                                </property>
-                                                <property name="margin">
-                                                    <number>0</number>
-                                                </property>
-                                                <property name="spacing">
-                                                    <number>0</number>
-                                                </property>
-                                                <widget class="QToolButton">
-                                                    <property name="name">
-                                                        <cstring>pbHostAdd</cstring>
-                                                    </property>
-                                                    <property name="focusPolicy">
-                                                        <enum>StrongFocus</enum>
-                                                    </property>
-                                                    <property name="text">
-                                                        <string></string>
-                                                    </property>
-                                                    <property name="autoRaise">
-                                                        <bool>true</bool>
-                                                    </property>
-                                                    <property name="toolTip" stdset="0">
-                                                        <string></string>
-                                                    </property>
-                                                    <property name="whatsThis" stdset="0">
-                                                        <string>Adds a new host interface.</string>
-                                                    </property>
-                                                </widget>
-                                                <widget class="QToolButton">
-                                                    <property name="name">
-                                                        <cstring>pbHostRemove</cstring>
-                                                    </property>
-                                                    <property name="focusPolicy">
-                                                        <enum>StrongFocus</enum>
-                                                    </property>
-                                                    <property name="text">
-                                                        <string></string>
-                                                    </property>
-                                                    <property name="autoRaise">
-                                                        <bool>true</bool>
-                                                    </property>
-                                                    <property name="toolTip" stdset="0">
-                                                        <string></string>
-                                                    </property>
-                                                    <property name="whatsThis" stdset="0">
-                                                        <string>Removes the selected host interface.</string>
-                                                    </property>
-                                                </widget>
-                                                <spacer>
-                                                    <property name="name">
-                                                        <cstring>spacer7</cstring>
-                                                    </property>
-                                                    <property name="orientation">
-                                                        <enum>Vertical</enum>
-                                                    </property>
-                                                    <property name="sizeType">
-                                                        <enum>Expanding</enum>
-                                                    </property>
-                                                    <property name="sizeHint">
-                                                        <size>
-                                                            <width>10</width>
-                                                            <height>10</height>
-                                                        </size>
-                                                    </property>
-                                                </spacer>
-                                            </vbox>
-                                        </widget>
-                                        <spacer row="0" column="1">
-                                            <property name="name">
-                                                <cstring>spacer11</cstring>
-                                            </property>
-                                            <property name="orientation">
-                                                <enum>Horizontal</enum>
-                                            </property>
-                                            <property name="sizeType">
-                                                <enum>Minimum</enum>
-                                            </property>
-                                            <property name="sizeHint">
-                                                <size>
-                                                    <width>20</width>
-                                                    <height>20</height>
-                                                </size>
-                                            </property>
-                                        </spacer>
-                                    </grid>
+                                                        <string>Displays the TAP interface name.</string>
+                                            </property>
+                                        </widget>
+                                    </vbox>
                                 </widget>
-                                <widget class="QLayoutWidget">
+                                <widget class="QFrame">
                                     <property name="name">
-                                        <cstring>layout120</cstring>
-                                    </property>
-                                    <hbox>
+                                        <cstring>frmTAPDescriptor</cstring>
+                                    </property>
+                                    <property name="frameShape">
+                                        <enum>NoFrame</enum>
+                                    </property>
+                                    <property name="frameShadow">
+                                        <enum>Raised</enum>
+                                    </property>
+                                    <vbox>
                                         <property name="name">
                                             <cstring>unnamed</cstring>
                                         </property>
-                                        <widget class="QFrame">
-                                            <property name="name">
-                                                <cstring>frmHostInterface_X11</cstring>
+                                        <property name="margin">
+                                            <number>0</number>
+                                        </property>
+                                        <widget class="QLabel">
+                                            <property name="name">
+                                                <cstring>txTAPDescriptor</cstring>
+                                            </property>
+                                            <property name="sizePolicy">
+                                                <sizepolicy>
+                                                    <hsizetype>0</hsizetype>
+                                                    <vsizetype>5</vsizetype>
+                                                    <horstretch>0</horstretch>
+                                                    <verstretch>0</verstretch>
+                                                </sizepolicy>
+                                            </property>
+                                            <property name="text">
+                                                <string>&amp;File Descriptor</string>
+                                            </property>
+                                            <property name="buddy" stdset="0">
+                                                <cstring>leTAPDescriptor</cstring>
+                                            </property>
+                                        </widget>
+                                        <widget class="QLineEdit">
+                                            <property name="name">
+                                                <cstring>leTAPDescriptor</cstring>
                                             </property>
                                             <property name="frameShape">
-                                                <enum>NoFrame</enum>
+                                                <enum>LineEditPanel</enum>
                                             </property>
                                             <property name="frameShadow">
-                                                <enum>Raised</enum>
-                                            </property>
-                                            <vbox>
-                                                <property name="name">
-                                                    <cstring>unnamed</cstring>
-                                                </property>
-                                                <property name="margin">
-                                                    <number>0</number>
-                                                </property>
-                                                <widget class="QLabel">
-                                                    <property name="name">
-                                                        <cstring>txHostInterface_X11</cstring>
-                                                    </property>
-                                                    <property name="sizePolicy">
-                                                        <sizepolicy>
-                                                            <hsizetype>0</hsizetype>
-                                                            <vsizetype>5</vsizetype>
-                                                            <horstretch>0</horstretch>
-                                                            <verstretch>0</verstretch>
-                                                        </sizepolicy>
-                                                    </property>
-                                                    <property name="text">
-                                                        <string>&amp;Interface Name</string>
-                                                    </property>
-                                                    <property name="buddy" stdset="0">
-                                                        <cstring>leHostInterface</cstring>
-                                                    </property>
-                                                </widget>
-                                                <widget class="QLineEdit">
-                                                    <property name="name">
-                                                        <cstring>leHostInterface</cstring>
-                                                    </property>
-                                                    <property name="whatsThis" stdset="0">
-                                                        <string>Displays the TAP interface name.</string>
-                                                    </property>
-                                                </widget>
-                                            </vbox>
-                                        </widget>
-                                        <widget class="QFrame">
-                                            <property name="name">
-                                                <cstring>frmTAPDescriptor</cstring>
-                                            </property>
-                                            <property name="frameShape">
-                                                <enum>NoFrame</enum>
-                                            </property>
-                                            <property name="frameShadow">
-                                                <enum>Raised</enum>
-                                            </property>
-                                            <vbox>
-                                                <property name="name">
-                                                    <cstring>unnamed</cstring>
-                                                </property>
-                                                <property name="margin">
-                                                    <number>0</number>
-                                                </property>
-                                                <widget class="QLabel">
-                                                    <property name="name">
-                                                        <cstring>txTAPDescriptor</cstring>
-                                                    </property>
-                                                    <property name="sizePolicy">
-                                                        <sizepolicy>
-                                                            <hsizetype>0</hsizetype>
-                                                            <vsizetype>5</vsizetype>
-                                                            <horstretch>0</horstretch>
-                                                            <verstretch>0</verstretch>
-                                                        </sizepolicy>
-                                                    </property>
-                                                    <property name="text">
-                                                        <string>&amp;File Descriptor</string>
-                                                    </property>
-                                                    <property name="buddy" stdset="0">
-                                                        <cstring>leTAPDescriptor</cstring>
-                                                    </property>
-                                                </widget>
-                                                <widget class="QLineEdit">
-                                                    <property name="name">
-                                                        <cstring>leTAPDescriptor</cstring>
-                                                    </property>
-                                                    <property name="frameShape">
-                                                        <enum>LineEditPanel</enum>
-                                                    </property>
-                                                    <property name="frameShadow">
-                                                        <enum>Sunken</enum>
-                                                    </property>
-                                                </widget>
-                                            </vbox>
-                                        </widget>
-                                    </hbox>
+                                                <enum>Sunken</enum>
+                                            </property>
+                                        </widget>
+                                    </vbox>
                                 </widget>
                             </hbox>
@@ -739,23 +559,10 @@
         <slot>pbTAPTerminate_clicked()</slot>
     </connection>
-    <connection>
-        <sender>pbHostAdd</sender>
-        <signal>clicked()</signal>
-        <receiver>VBoxVMNetworkSettings</receiver>
-        <slot>hostInterfaceAdd()</slot>
-    </connection>
-    <connection>
-        <sender>pbHostRemove</sender>
-        <signal>clicked()</signal>
-        <receiver>VBoxVMNetworkSettings</receiver>
-        <slot>hostInterfaceRemove()</slot>
-    </connection>
-    <connection>
-        <sender>lbHostInterface</sender>
-        <signal>highlighted(QListBoxItem*)</signal>
-        <receiver>VBoxVMNetworkSettings</receiver>
-        <slot>lbHostInterface_highlighted(QListBoxItem*)</slot>
-    </connection>
 </connections>
+<tabstops>
+    <tabstop>cbNetworkAttachment</tabstop>
+    <tabstop>cbHostInterfaceName</tabstop>
+    <tabstop>leMACAddress</tabstop>
+</tabstops>
 <includes>
     <include location="global" impldecl="in implementation">limits</include>
@@ -770,28 +577,20 @@
     <variable access="private">CNetworkAdapter cadapter;</variable>
     <variable access="private">QIWidgetValidator *mWalidator;</variable>
-    <variable access="private">QString mNoInterfaces;</variable>
 </variables>
-<signals>
-	<signal>listChanged( QWidget* )</signal>
-</signals>
 <slots>
-    <slot>cbNetworkAttachment_activated( const QString &amp; string )</slot>
-    <slot>pbGenerateMAC_clicked()</slot>
-    <slot>pbTAPSetup_clicked()</slot>
-    <slot>pbTAPTerminate_clicked()</slot>
-	<slot access="protected">hostInterfaceAdd()</slot>
-    <slot access="protected">hostInterfaceRemove()</slot>
-    <slot access="protected">lbHostInterface_highlighted( QListBoxItem* item )</slot>
-    <slot access="protected">grbEnabledToggled( bool )</slot>
+    <slot access="private">grbEnabledToggled( bool )</slot>
+    <slot access="private">cbNetworkAttachment_activated( const QString &amp; string )</slot>
+    <slot access="private">pbGenerateMAC_clicked()</slot>
+    <slot access="private">pbTAPSetup_clicked()</slot>
+    <slot access="private">pbTAPTerminate_clicked()</slot>
 </slots>
 <functions>
     <function access="private" specifier="non virtual">init()</function>
-    <function>loadList( const QStringList &amp; )</function>
+    <function returnType="bool">isPageValid( const QStringList &amp; )</function>
+    <function>loadList( const QStringList &amp;, const QString &amp; )</function>
     <function>getFromAdapter( const CNetworkAdapter &amp; )</function>
     <function>putBackToAdapter()</function>
     <function>setValidator( QIWidgetValidator* )</function>
     <function>revalidate()</function>
-    <function returnType="bool">isPageValid( const QStringList &amp; )</function>
-    <function access="private">selectListItem( const QString &amp; )</function>
     <function access="private" returnType="bool">isInterfaceInvalid( const QStringList &amp;, const QString &amp; )</function>
 </functions>
Index: trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMNetworkSettings.ui.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMNetworkSettings.ui.h	(revision 2972)
+++ trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMNetworkSettings.ui.h	(revision 2973)
@@ -31,79 +31,8 @@
 
 /**
- *  QDialog class reimplementation to use for adding network interface.
- *  It has one line-edit field for entering network interface's name and
- *  common dialog's ok/cancel buttons.
- */
-#if defined Q_WS_WIN
-class VBoxAddNIDialog : public QDialog
-{
-    Q_OBJECT
-
-public:
-
-    VBoxAddNIDialog (QWidget *aParent, const QString &aIfaceName) :
-        QDialog (aParent, "VBoxAddNIDialog", true /* modal */),
-        mLeName (0)
-    {
-        setCaption (tr ("Add Host Interface"));
-        QVBoxLayout *mainLayout = new QVBoxLayout (this, 10, 10, "mainLayout");
-
-        /* Setup Input layout */
-        QHBoxLayout *inputLayout = new QHBoxLayout (mainLayout, 10, "inputLayout");
-        QLabel *lbName = new QLabel (tr ("Interface Name"), this);
-        mLeName = new QLineEdit (aIfaceName, this);
-        QWhatsThis::add (mLeName, tr ("Descriptive name of the new network interface"));
-        inputLayout->addWidget (lbName);
-        inputLayout->addWidget (mLeName);
-        connect (mLeName, SIGNAL (textChanged (const QString &)),
-                 this, SLOT (validate()));
-
-        /* Setup Button layout */
-        QHBoxLayout *buttonLayout = new QHBoxLayout (mainLayout, 10, "buttonLayout");
-        mBtOk = new QPushButton (tr ("&OK"), this, "mBtOk");
-        QSpacerItem *spacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
-        QPushButton *btCancel = new QPushButton (tr ("Cancel"), this, "btCancel");
-        connect (mBtOk, SIGNAL (clicked()), this, SLOT (accept()));
-        connect (btCancel, SIGNAL (clicked()), this, SLOT (reject()));
-        buttonLayout->addWidget (mBtOk);
-        buttonLayout->addItem (spacer);
-        buttonLayout->addWidget (btCancel);
-
-        /* Validate interface name field */
-        validate();
-    }
-
-    ~VBoxAddNIDialog() {}
-
-    QString getName() { return mLeName->text(); }
-
-private slots:
-
-    void validate()
-    {
-        mBtOk->setEnabled (!mLeName->text().isEmpty());
-    }
-
-private:
-
-    void showEvent (QShowEvent *aEvent)
-    {
-        setFixedHeight (height());
-        QDialog::showEvent (aEvent);
-    }
-
-    QPushButton *mBtOk;
-    QLineEdit *mLeName;
-};
-#endif
-
-
-/**
  *  VBoxVMNetworkSettings class to use as network interface setup page.
  */
 void VBoxVMNetworkSettings::init()
 {
-    mNoInterfaces = tr ("<No suitable interfaces>");
-
     leMACAddress->setValidator (new QRegExpValidator (QRegExp ("[0-9,A-F]{12,12}"), this));
 
@@ -125,18 +54,12 @@
 
 #if defined Q_WS_WIN
-    /* setup iconsets */
-    pbHostAdd->setIconSet (VBoxGlobal::iconSet ("add_host_iface_16px.png",
-                                                "add_host_iface_disabled_16px.png"));
-    pbHostRemove->setIconSet (VBoxGlobal::iconSet ("remove_host_iface_16px.png",
-                                                   "remove_host_iface_disabled_16px.png"));
-    /* setup languages */
-    QToolTip::add (pbHostAdd, tr ("Add"));
-    QToolTip::add (pbHostRemove, tr ("Remove"));
-    /* setup connections */
+    /* disable unused interface name UI */
+    grbTAP->setHidden (true);
     connect (grbEnabled, SIGNAL (toggled (bool)),
              this, SLOT (grbEnabledToggled (bool)));
 #else
     /* disable unused interface name UI */
-    frmHostInterface_WIN->setHidden (true);
+    txHostInterface_WIN->setHidden (true);
+    cbHostInterfaceName->setHidden (true);
     /* setup iconsets */
     pbTAPSetup->setIconSet (VBoxGlobal::iconSet ("select_file_16px.png",
@@ -163,5 +86,5 @@
 
     return !(type == CEnums::HostInterfaceNetworkAttachment &&
-             isInterfaceInvalid (aList, leHostInterfaceName->text()));
+             isInterfaceInvalid (aList, cbHostInterfaceName->currentText()));
 #else
     NOREF (aList);
@@ -170,21 +93,28 @@
 }
 
-void VBoxVMNetworkSettings::loadList (const QStringList &aList)
+void VBoxVMNetworkSettings::loadList (const QStringList &aList,
+                                      const QString &aNillItem)
 {
 #if defined Q_WS_WIN
     /* save current list item name */
-    QString currentListItemName = leHostInterfaceName->text();
+    QString currentListItemName = cbHostInterfaceName->currentText();
+    /* clear current list */
+    cbHostInterfaceName->clear();
     /* load current list items */
-    lbHostInterface->clearFocus();
-    lbHostInterface->clear();
     if (aList.count())
-        lbHostInterface->insertStringList (aList);
+    {
+        cbHostInterfaceName->insertStringList (aList);
+        int index = aList.findIndex (currentListItemName);
+        if (index != -1)
+            cbHostInterfaceName->setCurrentItem (index);
+    }
     else
-        lbHostInterface->insertItem (mNoInterfaces);
-    selectListItem (currentListItemName);
-    /* disable interface delete button */
-    pbHostRemove->setEnabled (!aList.isEmpty());
+    {
+        cbHostInterfaceName->insertItem (aNillItem);
+        cbHostInterfaceName->setCurrentItem (0);
+    }
 #else
     NOREF (aList);
+    NOREF (aNillItem);
 #endif
 }
@@ -211,5 +141,13 @@
 
 #if defined Q_WS_WIN
-    selectListItem (adapter.GetHostInterface());
+    QString name = adapter.GetHostInterface();
+    for (int index = 0; index < cbHostInterfaceName->count(); ++ index)
+        if (cbHostInterfaceName->text (index) == name)
+        {
+            cbHostInterfaceName->setCurrentItem (index);
+            break;
+        }
+    if (cbHostInterfaceName->currentItem() == -1)
+        cbHostInterfaceName->setCurrentText (name);
 #else
     leHostInterface->setText (adapter.GetHostInterface());
@@ -255,6 +193,6 @@
     {
 #if defined Q_WS_WIN
-        if (!lbHostInterface->currentText().isEmpty())
-            cadapter.SetHostInterface (lbHostInterface->currentText());
+        if (!cbHostInterfaceName->currentText().isEmpty())
+            cadapter.SetHostInterface (cbHostInterfaceName->currentText());
 #else
         QString iface = leHostInterface->text();
@@ -286,12 +224,7 @@
     if (!aOn)
     {
-        lbHostInterface->clearFocus();
         cbNetworkAttachment->setCurrentItem (0);
         cbNetworkAttachment_activated (cbNetworkAttachment->currentText());
-        if (lbHostInterface->selectedItem())
-            lbHostInterface->setSelected (lbHostInterface->selectedItem(), false);
-    }
-    if (lbHostInterface->currentItem() != -1)
-        lbHostInterface->setSelected (lbHostInterface->currentItem(), aOn);
+    }
 #else
     NOREF (aOn);
@@ -299,41 +232,13 @@
 }
 
-void VBoxVMNetworkSettings::selectListItem (const QString &aItemName)
-{
-    if (!aItemName.isEmpty())
-    {
-#if defined Q_WS_WIN
-        leHostInterfaceName->setText (aItemName);
-        QListBoxItem* adapterNode = lbHostInterface->findItem (aItemName);
-        if (adapterNode)
-        {
-            lbHostInterface->setCurrentItem (adapterNode);
-            lbHostInterface->setSelected (adapterNode, true);
-        }
-#endif
-    }
-}
-
 void VBoxVMNetworkSettings::cbNetworkAttachment_activated (const QString &aString)
 {
-#if defined Q_WS_WIN
     bool enableHostIf = vboxGlobal().toNetworkAttachmentType (aString) ==
                         CEnums::HostInterfaceNetworkAttachment;
+#if defined Q_WS_WIN
     txHostInterface_WIN->setEnabled (enableHostIf);
-    leHostInterfaceName->setEnabled (enableHostIf);
-    lbHostInterface_highlighted (lbHostInterface->selectedItem());
-#else
-    NOREF (aString);
-#endif
-}
-
-void VBoxVMNetworkSettings::lbHostInterface_highlighted (QListBoxItem *aItem)
-{
-    if (!aItem) return;
-#if defined Q_WS_WIN
-    leHostInterfaceName->setText (leHostInterfaceName->isEnabled() ?
-                                  aItem->text() : QString::null);
-    if (!lbHostInterface->isSelected (aItem))
-        lbHostInterface->setSelected (aItem, true);
+    cbHostInterfaceName->setEnabled (enableHostIf);
+#else
+    grbTAP->setEnabled (enableHostIf);
 #endif
 }
@@ -382,116 +287,2 @@
         leTAPTerminate->setText (selected);
 }
-
-void VBoxVMNetworkSettings::hostInterfaceAdd()
-{
-#if defined Q_WS_WIN
-
-    /* allow the started helper process to make itself the foreground window */
-    AllowSetForegroundWindow (ASFW_ANY);
-
-    /* search for the max available interface index */
-    int ifaceNumber = 0;
-    QString ifaceName = tr ("VirtualBox Host Interface %1");
-    QRegExp regExp (QString ("^") + ifaceName.arg ("([0-9]+)") + QString ("$"));
-    for (uint index = 0; index < lbHostInterface->count(); ++ index)
-    {
-        QString iface = lbHostInterface->text (index);
-        int pos = regExp.search (iface);
-        if (pos != -1)
-            ifaceNumber = regExp.cap (1).toInt() > ifaceNumber ?
-                          regExp.cap (1).toInt() : ifaceNumber;
-    }
-
-    /* creating add host interface dialog */
-    VBoxAddNIDialog dlg (this, ifaceName.arg (ifaceNumber + 1));
-    if (dlg.exec() != QDialog::Accepted)
-        return;
-    QString iName = dlg.getName();
-
-    /* create interface */
-    CHost host = vboxGlobal().virtualBox().GetHost();
-    CHostNetworkInterface iFace;
-    CProgress progress = host.CreateHostNetworkInterface (iName, iFace);
-    if (host.isOk())
-    {
-        vboxProblem().showModalProgressDialog (progress, iName, this);
-        if (progress.GetResultCode() == 0)
-        {
-            /* add&select newly created created interface */
-            delete lbHostInterface->findItem (mNoInterfaces);
-            lbHostInterface->insertItem (iName);
-            selectListItem (iName);
-            pbHostRemove->setEnabled (true);
-            emit listChanged (this);
-        }
-        else
-            vboxProblem().cannotCreateHostInterface (progress, iName, this);
-    }
-    else
-        vboxProblem().cannotCreateHostInterface (host, iName, this);
-
-    /* allow the started helper process to make itself the foreground window */
-    AllowSetForegroundWindow (ASFW_ANY);
-
-#endif
-}
-
-void VBoxVMNetworkSettings::hostInterfaceRemove()
-{
-#if defined Q_WS_WIN
-
-    /* allow the started helper process to make itself the foreground window */
-    AllowSetForegroundWindow (ASFW_ANY);
-
-    /* check interface name */
-    QString iName = lbHostInterface->currentText();
-    if (iName.isEmpty())
-        return;
-
-    /* asking user about deleting selected network interface */
-    int delNetIface = vboxProblem().message (this, VBoxProblemReporter::Question,
-        tr ("<p>Do you want to remove the selected host network interface "
-            "<nobr><b>%1</b>?</nobr></p>"
-            "<p><b>Note:</b> This interface may be in use by one or more "
-            "network adapters of this or another VM. After it is removed, these "
-            "adapters will no longer work until you correct their settings by "
-            "either choosing a different interface name or a different adapter "
-            "attachment type.</p>").arg (iName),
-        0, /* autoConfirmId */
-        QIMessageBox::Ok | QIMessageBox::Default,
-        QIMessageBox::Cancel | QIMessageBox::Escape);
-    if (delNetIface == QIMessageBox::Cancel)
-        return;
-
-    CHost host = vboxGlobal().virtualBox().GetHost();
-    CHostNetworkInterface iFace = host.GetNetworkInterfaces().FindByName (iName);
-    if (host.isOk())
-    {
-        /* delete interface */
-        CProgress progress = host.RemoveHostNetworkInterface (iFace.GetId(), iFace);
-        if (host.isOk())
-        {
-            vboxProblem().showModalProgressDialog (progress, iName, this);
-            if (progress.GetResultCode() == 0)
-            {
-                if (lbHostInterface->count() == 1)
-                {
-                    lbHostInterface->insertItem (mNoInterfaces);
-                    pbHostRemove->setEnabled (false);
-                }
-                delete lbHostInterface->findItem (iName);
-                emit listChanged (this);
-            }
-            else
-                vboxProblem().cannotRemoveHostInterface (progress, iFace, this);
-        }
-    }
-
-    if (!host.isOk())
-        vboxProblem().cannotRemoveHostInterface (host, iFace, this);
-#endif
-}
-
-#if defined Q_WS_WIN
-#include "VBoxVMNetworkSettings.ui.moc"
-#endif
Index: trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui	(revision 2972)
+++ trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui	(revision 2973)
@@ -28,5 +28,5 @@
             <y>0</y>
             <width>486</width>
-            <height>405</height>
+            <height>493</height>
         </rect>
     </property>
@@ -295,4 +295,7 @@
                 <number>3</number>
             </property>
+            <property name="whatsThis" stdset="0">
+                <string>Lists all available host interfaces.</string>
+            </property>
         </widget>
         <widget class="QLabel" row="0" column="1">
@@ -1963,4 +1966,124 @@
                     <number>5</number>
                 </attribute>
+                <vbox>
+                    <property name="name">
+                        <cstring>unnamed</cstring>
+                    </property>
+                    <property name="margin">
+                        <number>0</number>
+                    </property>
+                    <widget class="QGroupBox">
+                        <property name="name">
+                            <cstring>gbInterfaceList</cstring>
+                        </property>
+                        <vbox>
+                            <property name="name">
+                                <cstring>unnamed</cstring>
+                            </property>
+                            <widget class="QLayoutWidget">
+                                <property name="name">
+                                    <cstring>layout99</cstring>
+                                </property>
+                                <hbox>
+                                    <property name="name">
+                                        <cstring>unnamed</cstring>
+                                    </property>
+                                    <property name="spacing">
+                                        <number>6</number>
+                                    </property>
+                                    <widget class="QListBox">
+                                        <property name="name">
+                                            <cstring>lbHostInterface</cstring>
+                                        </property>
+                                        <property name="sizePolicy">
+                                            <sizepolicy>
+                                                <hsizetype>7</hsizetype>
+                                                <vsizetype>7</vsizetype>
+                                                <horstretch>0</horstretch>
+                                                <verstretch>0</verstretch>
+                                            </sizepolicy>
+                                        </property>
+                                        <property name="whatsThis" stdset="0">
+                                            <string>Lists all available host interfaces.</string>
+                                        </property>
+                                    </widget>
+                                    <widget class="QLayoutWidget">
+                                        <property name="name">
+                                            <cstring>layout27</cstring>
+                                        </property>
+                                        <vbox>
+                                            <property name="name">
+                                                <cstring>unnamed</cstring>
+                                            </property>
+                                            <property name="margin">
+                                                <number>0</number>
+                                            </property>
+                                            <property name="spacing">
+                                                <number>0</number>
+                                            </property>
+                                            <widget class="QToolButton">
+                                                <property name="name">
+                                                    <cstring>pbHostAdd</cstring>
+                                                </property>
+                                                <property name="focusPolicy">
+                                                    <enum>StrongFocus</enum>
+                                                </property>
+                                                <property name="text">
+                                                    <string></string>
+                                                </property>
+                                                <property name="autoRaise">
+                                                    <bool>true</bool>
+                                                </property>
+                                                <property name="toolTip" stdset="0">
+                                                    <string></string>
+                                                </property>
+                                                <property name="whatsThis" stdset="0">
+                                                    <string>Adds a new host interface.</string>
+                                                </property>
+                                            </widget>
+                                            <widget class="QToolButton">
+                                                <property name="name">
+                                                    <cstring>pbHostRemove</cstring>
+                                                </property>
+                                                <property name="focusPolicy">
+                                                    <enum>StrongFocus</enum>
+                                                </property>
+                                                <property name="text">
+                                                    <string></string>
+                                                </property>
+                                                <property name="autoRaise">
+                                                    <bool>true</bool>
+                                                </property>
+                                                <property name="toolTip" stdset="0">
+                                                    <string></string>
+                                                </property>
+                                                <property name="whatsThis" stdset="0">
+                                                    <string>Removes the selected host interface.</string>
+                                                </property>
+                                            </widget>
+                                            <spacer>
+                                                <property name="name">
+                                                    <cstring>spacer7</cstring>
+                                                </property>
+                                                <property name="orientation">
+                                                    <enum>Vertical</enum>
+                                                </property>
+                                                <property name="sizeType">
+                                                    <enum>Expanding</enum>
+                                                </property>
+                                                <property name="sizeHint">
+                                                    <size>
+                                                        <width>10</width>
+                                                        <height>10</height>
+                                                    </size>
+                                                </property>
+                                            </spacer>
+                                        </vbox>
+                                    </widget>
+                                </hbox>
+                            </widget>
+                        </vbox>
+                    </widget>
+                </vbox>
             </widget>
             <widget class="QWidget">
@@ -1978,4 +2101,7 @@
                         <number>0</number>
                     </property>
+                    <property name="spacing">
+                        <number>10</number>
+                    </property>
                     <widget class="QCheckBox">
                         <property name="name">
@@ -2010,4 +2136,10 @@
                                     <property name="name">
                                         <cstring>unnamed</cstring>
+                                    </property>
+                                    <property name="margin">
+                                        <number>0</number>
+                                    </property>
+                                    <property name="spacing">
+                                        <number>0</number>
                                     </property>
                                     <widget class="QListView">
@@ -2671,4 +2803,16 @@
         <receiver>VBoxVMSettingsDlg</receiver>
         <slot>tbUSBFilterDown_clicked()</slot>
+    </connection>
+    <connection>
+        <sender>pbHostAdd</sender>
+        <signal>clicked()</signal>
+        <receiver>VBoxVMSettingsDlg</receiver>
+        <slot>hostInterfaceAdd()</slot>
+    </connection>
+    <connection>
+        <sender>pbHostRemove</sender>
+        <signal>clicked()</signal>
+        <receiver>VBoxVMSettingsDlg</receiver>
+        <slot>hostInterfaceRemove()</slot>
     </connection>
 </connections>
@@ -2785,4 +2929,5 @@
     <variable access="private">QIRichLabel *whatsThisLabel;</variable>
     <variable access="private">BootItemsList *tblBootOrder;</variable>
+    <variable access="private">QString mNoInterfaces;</variable>
     <variable access="private">bool mResetFirstRunFlag;</variable>
 </variables>
@@ -2820,6 +2965,7 @@
     <slot>cdMediaChanged()</slot>
     <slot>fdMediaChanged()</slot>
-    <slot>updateInterfaces( QWidget* )</slot>
     <slot>networkPageUpdate( QWidget* )</slot>
+    <slot>hostInterfaceAdd()</slot>
+    <slot>hostInterfaceRemove()</slot>
     <slot>resetFirstRunFlag()</slot>
 </slots>
@@ -2834,4 +2980,5 @@
     <function access="private">updateShortcuts()</function>
     <function access="private" returnType="QString">getHdInfo( QGroupBox*, QUuid )</function>
+    <function access="private">loadInterfacesList()</function>
 </functions>
 <pixmapinproject/>
Index: trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui.h
===================================================================
--- trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui.h	(revision 2972)
+++ trunk/src/VBox/Frontends/VirtualBox/ui/VBoxVMSettingsDlg.ui.h	(revision 2973)
@@ -32,4 +32,71 @@
 
 extern const char *GUI_FirstRun;
+
+
+/**
+ *  QDialog class reimplementation to use for adding network interface.
+ *  It has one line-edit field for entering network interface's name and
+ *  common dialog's ok/cancel buttons.
+ */
+class VBoxAddNIDialog : public QDialog
+{
+    Q_OBJECT
+
+public:
+
+    VBoxAddNIDialog (QWidget *aParent, const QString &aIfaceName) :
+        QDialog (aParent, "VBoxAddNIDialog", true /* modal */),
+        mLeName (0)
+    {
+        setCaption (tr ("Add Host Interface"));
+        QVBoxLayout *mainLayout = new QVBoxLayout (this, 10, 10, "mainLayout");
+
+        /* Setup Input layout */
+        QHBoxLayout *inputLayout = new QHBoxLayout (mainLayout, 10, "inputLayout");
+        QLabel *lbName = new QLabel (tr ("Interface Name"), this);
+        mLeName = new QLineEdit (aIfaceName, this);
+        QWhatsThis::add (mLeName, tr ("Descriptive name of the new network interface"));
+        inputLayout->addWidget (lbName);
+        inputLayout->addWidget (mLeName);
+        connect (mLeName, SIGNAL (textChanged (const QString &)),
+                 this, SLOT (validate()));
+
+        /* Setup Button layout */
+        QHBoxLayout *buttonLayout = new QHBoxLayout (mainLayout, 10, "buttonLayout");
+        mBtOk = new QPushButton (tr ("&OK"), this, "mBtOk");
+        QSpacerItem *spacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
+        QPushButton *btCancel = new QPushButton (tr ("Cancel"), this, "btCancel");
+        connect (mBtOk, SIGNAL (clicked()), this, SLOT (accept()));
+        connect (btCancel, SIGNAL (clicked()), this, SLOT (reject()));
+        buttonLayout->addWidget (mBtOk);
+        buttonLayout->addItem (spacer);
+        buttonLayout->addWidget (btCancel);
+
+        /* Validate interface name field */
+        validate();
+    }
+
+    ~VBoxAddNIDialog() {}
+
+    QString getName() { return mLeName->text(); }
+
+private slots:
+
+    void validate()
+    {
+        mBtOk->setEnabled (!mLeName->text().isEmpty());
+    }
+
+private:
+
+    void showEvent (QShowEvent *aEvent)
+    {
+        setFixedHeight (height());
+        QDialog::showEvent (aEvent);
+    }
+
+    QPushButton *mBtOk;
+    QLineEdit *mLeName;
+};
 
 
@@ -625,8 +692,22 @@
 
     /* Network Page */
-
-    QVBoxLayout* pageNetworkLayout = new QVBoxLayout (pageNetwork, 0, 10, "pageNetworkLayout");
+#ifndef Q_WS_WIN
+    gbInterfaceList->setHidden (true);
+#endif
+
+    /* setup tab widget */
+    QVBoxLayout* pageNetworkLayout = static_cast<QVBoxLayout*> (pageNetwork->layout());
     tbwNetwork = new QTabWidget (pageNetwork, "tbwNetwork");
-    pageNetworkLayout->addWidget (tbwNetwork);
+    pageNetworkLayout->insertWidget (0, tbwNetwork);
+    tbwNetwork->setSizePolicy (QSizePolicy::Minimum, QSizePolicy::Minimum);
+    mNoInterfaces = tr ("<No suitable interfaces>");
+    /* setup iconsets */
+    pbHostAdd->setIconSet (VBoxGlobal::iconSet ("add_host_iface_16px.png",
+                                                "add_host_iface_disabled_16px.png"));
+    pbHostRemove->setIconSet (VBoxGlobal::iconSet ("remove_host_iface_16px.png",
+                                                   "remove_host_iface_disabled_16px.png"));
+    /* setup languages */
+    QToolTip::add (pbHostAdd, tr ("Add"));
+    QToolTip::add (pbHostRemove, tr ("Remove"));
 
     /* USB Page */
@@ -774,5 +855,5 @@
     /* Network Page */
 
-    updateInterfaces (0);
+    loadInterfacesList();
 
     /*
@@ -878,22 +959,149 @@
 }
 
-
-void VBoxVMSettingsDlg::updateInterfaces (QWidget *aWidget)
+void VBoxVMSettingsDlg::loadInterfacesList()
 {
 #if defined Q_WS_WIN
-    /* clear list */
+    /* clear inner list */
     mInterfaceList.clear();
-    /* write a QStringList of interface names */
+    /* load current inner list */
     CHostNetworkInterfaceEnumerator en =
         vboxGlobal().virtualBox().GetHost().GetNetworkInterfaces().Enumerate();
     while (en.HasMore())
         mInterfaceList += en.GetNext().GetName();
-    if (aWidget)
-    {
-        VBoxVMNetworkSettings *set = static_cast<VBoxVMNetworkSettings*> (aWidget);
-        set->revalidate();
-    }
-#else
-    NOREF (aWidget);
+    /* save current list item name */
+    QString currentListItemName = lbHostInterface->currentText();
+    /* load current list items */
+    lbHostInterface->clear();
+    if (mInterfaceList.count())
+        lbHostInterface->insertStringList (mInterfaceList);
+    else
+        lbHostInterface->insertItem (mNoInterfaces);
+    /* select current list item */
+    int index = lbHostInterface->index (
+        lbHostInterface->findItem (currentListItemName));
+    if (index == -1)
+        index = 0;
+    lbHostInterface->setCurrentItem (index);
+    lbHostInterface->setSelected (index, true);
+    /* enable/disable interface delete button */
+    pbHostRemove->setEnabled (!mInterfaceList.isEmpty());
+#endif
+}
+
+void VBoxVMSettingsDlg::hostInterfaceAdd()
+{
+#if defined Q_WS_WIN
+
+    /* allow the started helper process to make itself the foreground window */
+    AllowSetForegroundWindow (ASFW_ANY);
+
+    /* search for the max available interface index */
+    int ifaceNumber = 0;
+    QString ifaceName = tr ("VirtualBox Host Interface %1");
+    QRegExp regExp (QString ("^") + ifaceName.arg ("([0-9]+)") + QString ("$"));
+    for (uint index = 0; index < lbHostInterface->count(); ++ index)
+    {
+        QString iface = lbHostInterface->text (index);
+        int pos = regExp.search (iface);
+        if (pos != -1)
+            ifaceNumber = regExp.cap (1).toInt() > ifaceNumber ?
+                          regExp.cap (1).toInt() : ifaceNumber;
+    }
+
+    /* creating add host interface dialog */
+    VBoxAddNIDialog dlg (this, ifaceName.arg (++ ifaceNumber));
+    if (dlg.exec() != QDialog::Accepted)
+        return;
+    QString iName = dlg.getName();
+
+    /* create interface */
+    CHost host = vboxGlobal().virtualBox().GetHost();
+    CHostNetworkInterface iFace;
+    CProgress progress = host.CreateHostNetworkInterface (iName, iFace);
+    if (host.isOk())
+    {
+        vboxProblem().showModalProgressDialog (progress, iName, this);
+        if (progress.GetResultCode() == 0)
+        {
+            /* add&select newly created interface */
+            delete lbHostInterface->findItem (mNoInterfaces);
+            lbHostInterface->insertItem (iName);
+            mInterfaceList += iName;
+            lbHostInterface->setCurrentItem (lbHostInterface->count() - 1);
+            lbHostInterface->setSelected (lbHostInterface->count() - 1, true);
+            for (int index = 0; index < tbwNetwork->count(); ++ index)
+                networkPageUpdate (tbwNetwork->page (index));
+            /* enable interface delete button */
+            pbHostRemove->setEnabled (true);
+        }
+        else
+            vboxProblem().cannotCreateHostInterface (progress, iName, this);
+    }
+    else
+        vboxProblem().cannotCreateHostInterface (host, iName, this);
+
+    /* allow the started helper process to make itself the foreground window */
+    AllowSetForegroundWindow (ASFW_ANY);
+
+#endif
+}
+
+void VBoxVMSettingsDlg::hostInterfaceRemove()
+{
+#if defined Q_WS_WIN
+
+    /* allow the started helper process to make itself the foreground window */
+    AllowSetForegroundWindow (ASFW_ANY);
+
+    /* check interface name */
+    QString iName = lbHostInterface->currentText();
+    if (iName.isEmpty())
+        return;
+
+    /* asking user about deleting selected network interface */
+    int delNetIface = vboxProblem().message (this, VBoxProblemReporter::Question,
+        tr ("<p>Do you want to remove the selected host network interface "
+            "<nobr><b>%1</b>?</nobr></p>"
+            "<p><b>Note:</b> This interface may be in use by one or more "
+            "network adapters of this or another VM. After it is removed, these "
+            "adapters will no longer work until you correct their settings by "
+            "either choosing a different interface name or a different adapter "
+            "attachment type.</p>").arg (iName),
+        0, /* autoConfirmId */
+        QIMessageBox::Ok | QIMessageBox::Default,
+        QIMessageBox::Cancel | QIMessageBox::Escape);
+    if (delNetIface == QIMessageBox::Cancel)
+        return;
+
+    CHost host = vboxGlobal().virtualBox().GetHost();
+    CHostNetworkInterface iFace = host.GetNetworkInterfaces().FindByName (iName);
+    if (host.isOk())
+    {
+        /* delete interface */
+        CProgress progress = host.RemoveHostNetworkInterface (iFace.GetId(), iFace);
+        if (host.isOk())
+        {
+            vboxProblem().showModalProgressDialog (progress, iName, this);
+            if (progress.GetResultCode() == 0)
+            {
+                if (lbHostInterface->count() == 1)
+                {
+                    lbHostInterface->insertItem (mNoInterfaces);
+                    /* disable interface delete button */
+                    pbHostRemove->setEnabled (false);
+                }
+                delete lbHostInterface->findItem (iName);
+                lbHostInterface->setSelected (lbHostInterface->currentItem(), true);
+                mInterfaceList.erase (mInterfaceList.find (iName));
+                for (int index = 0; index < tbwNetwork->count(); ++ index)
+                    networkPageUpdate (tbwNetwork->page (index));
+            }
+            else
+                vboxProblem().cannotRemoveHostInterface (progress, iFace, this);
+        }
+    }
+
+    if (!host.isOk())
+        vboxProblem().cannotRemoveHostInterface (host, iFace, this);
 #endif
 }
@@ -903,7 +1111,6 @@
     if (!aWidget) return;
 #if defined Q_WS_WIN
-    updateInterfaces (0);
     VBoxVMNetworkSettings *set = static_cast<VBoxVMNetworkSettings*> (aWidget);
-    set->loadList (mInterfaceList);
+    set->loadList (mInterfaceList, mNoInterfaces);
     set->revalidate();
 #endif
@@ -1869,5 +2076,5 @@
 {
     VBoxVMNetworkSettings *page = new VBoxVMNetworkSettings();
-    page->loadList (mInterfaceList);
+    page->loadList (mInterfaceList, mNoInterfaces);
     page->getFromAdapter (aAdapter);
     tbwNetwork->addTab (page, QString (tr ("Adapter %1", "network"))
@@ -1884,14 +2091,4 @@
     connect (page->cbNetworkAttachment, SIGNAL (activated (const QString &)),
              wval, SLOT (revalidate()));
-
-#if defined Q_WS_WIN
-    connect (page->lbHostInterface, SIGNAL (highlighted (QListBoxItem*)),
-             wval, SLOT (revalidate()));
-    connect (tbwNetwork, SIGNAL (currentChanged (QWidget*)),
-             this, SLOT (networkPageUpdate (QWidget*)));
-    connect (page, SIGNAL (listChanged (QWidget*)),
-             this, SLOT (updateInterfaces (QWidget*)));
-#endif
-
     connect (wval, SIGNAL (validityChanged (const QIWidgetValidator *)),
              this, SLOT (enableOk (const QIWidgetValidator *)));
