Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 36103)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 36104)
@@ -7,5 +7,5 @@
 
 /*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -2973,4 +2973,11 @@
         tr ("VDE Adapter", "NetworkAttachmentType");
 #endif
+
+    mNetworkAdapterPromiscModePolicyTypes [KNetworkAdapterPromiscModePolicy_Deny] =
+        tr ("Deny", "NetworkAdapterPromiscModePolicyType");
+    mNetworkAdapterPromiscModePolicyTypes [KNetworkAdapterPromiscModePolicy_AllowNetwork] =
+        tr ("Allow Network", "NetworkAdapterPromiscModePolicyType");
+    mNetworkAdapterPromiscModePolicyTypes [KNetworkAdapterPromiscModePolicy_AllowAll] =
+        tr ("Allow All", "NetworkAdapterPromiscModePolicyType");
 
     mNATProtocolTypes [KNATProtocol_UDP] =
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 36103)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.h	(revision 36104)
@@ -6,5 +6,5 @@
 
 /*
- * Copyright (C) 2006-2010 Oracle Corporation
+ * Copyright (C) 2006-2011 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -482,4 +482,19 @@
     }
 
+    QString toString (KNetworkAdapterPromiscModePolicy t) const
+    {
+        AssertMsg (!mNetworkAdapterPromiscModePolicyTypes.value (t).isNull(), ("No text for %d", t));
+        return mNetworkAdapterPromiscModePolicyTypes.value (t);
+    }
+
+    KNetworkAdapterPromiscModePolicy toNetworkAdapterPromiscModePolicyType (const QString &s) const
+    {
+        QULongStringHash::const_iterator it =
+            qFind (mNetworkAdapterPromiscModePolicyTypes.begin(), mNetworkAdapterPromiscModePolicyTypes.end(), s);
+        AssertMsg (it != mNetworkAdapterPromiscModePolicyTypes.end(), ("No value for {%s}",
+                                                                       s.toLatin1().constData()));
+        return KNetworkAdapterPromiscModePolicy (it.key());
+    }
+
     QString toString (KNATProtocol t) const
     {
@@ -854,4 +869,5 @@
     QULongStringHash mNetworkAdapterTypes;
     QULongStringHash mNetworkAttachmentTypes;
+    QULongStringHash mNetworkAdapterPromiscModePolicyTypes;
     QULongStringHash mNATProtocolTypes;
     QULongStringHash mClipboardTypes;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp	(revision 36103)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.cpp	(revision 36104)
@@ -7,5 +7,5 @@
 
 /*
- * Copyright (C) 2008-2010 Oracle Corporation
+ * Copyright (C) 2008-2011 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -18,10 +18,9 @@
  */
 
-/* VBox Includes */
-#ifdef VBOX_WITH_VDE
-# include <iprt/ldr.h>
-# include <VBox/VDEPlug.h>
-#endif
-
+/* Qt includes */
+#include <QTimer>
+#include <QCompleter>
+
+/* Local includes */
 #include "QIWidgetValidator.h"
 #include "QIArrowButtonSwitch.h"
@@ -30,41 +29,35 @@
 #include "QITabWidget.h"
 
-/* Qt Includes */
-#include <QTimer>
-#include <QCompleter>
-
-/* Empty item extra-code */
+#ifdef VBOX_WITH_VDE
+# include <iprt/ldr.h>
+# include <VBox/VDEPlug.h>
+#endif /* VBOX_WITH_VDE */
+
+/* Empty item extra-code: */
 const char *emptyItemCode = "#empty#";
 
-/* UIMachineSettingsNetwork Stuff */
-UIMachineSettingsNetwork::UIMachineSettingsNetwork (UIMachineSettingsNetworkPage *aParent, bool aDisableStaticControls)
-    : QIWithRetranslateUI <QWidget> (0)
-    , mParent (aParent)
-    , mValidator (0)
+UIMachineSettingsNetwork::UIMachineSettingsNetwork(UIMachineSettingsNetworkPage *pParent, bool fDisableStaticControls)
+    : QIWithRetranslateUI<QWidget>(0)
+    , m_pParent(pParent)
+    , m_pValidator(0)
     , m_iSlot(-1)
-    , mPolished (false)
-    , mDisableStaticControls (false)
-{
-    /* Apply UI decorations */
-    Ui::UIMachineSettingsNetwork::setupUi (this);
-
-    /* Setup widgets */
-    mCbAdapterName->setInsertPolicy (QComboBox::NoInsert);
-    mLeMAC->setValidator (new QRegExpValidator (QRegExp (
-                          "[0-9A-Fa-f][02468ACEace][0-9A-Fa-f]{10}"), this));
-    mLeMAC->setMinimumWidthByText (QString().fill ('0', 12));
-
-    /* Setup connections */
-    connect (mAbsAdvanced, SIGNAL (clicked()), this, SLOT (toggleAdvanced()));
-    connect (mTbMAC, SIGNAL (clicked()), this, SLOT (generateMac()));
-    connect (mPbPortForwarding, SIGNAL (clicked()), this, SLOT (sltOpenPortForwardingDlg()));
-
-    /* Applying language settings */
+    , m_fPolished(false)
+    , m_fDisableStaticControls(fDisableStaticControls)
+{
+    /* Apply UI decorations: */
+    Ui::UIMachineSettingsNetwork::setupUi(this);
+
+    /* Setup widgets: */
+    m_pAdapterNameCombo->setInsertPolicy(QComboBox::NoInsert);
+    m_pMACEditor->setValidator(new QRegExpValidator(QRegExp("[0-9A-Fa-f][02468ACEace][0-9A-Fa-f]{10}"), this));
+    m_pMACEditor->setMinimumWidthByText(QString().fill('0', 12));
+
+    /* Setup connections: */
+    connect(m_pAdvancedArrow, SIGNAL(clicked()), this, SLOT(sltToggleAdvanced()));
+    connect(m_pMACButton, SIGNAL(clicked()), this, SLOT(sltGenerateMac()));
+    connect(m_pPortForwardingButton, SIGNAL(clicked()), this, SLOT(sltOpenPortForwardingDlg()));
+
+    /* Applying language settings: */
     retranslateUi();
-
-    /* If some controls should be disabled or not when the
-     * same tab widgets are shown during runtime
-     */
-    mDisableStaticControls = aDisableStaticControls;
 }
 
@@ -78,11 +71,7 @@
     mCbEnableAdapter->setChecked(data.m_fAdapterEnabled);
 
-    /* Load adapter type: */
-    int adapterPos = mCbAdapterType->findData(data.m_adapterType);
-    mCbAdapterType->setCurrentIndex(adapterPos == -1 ? 0 : adapterPos);
-
     /* Load attachment type: */
-    int attachmentPos = mCbAttachmentType->findData(data.m_attachmentType);
-    mCbAttachmentType->setCurrentIndex(attachmentPos == -1 ? 0 : attachmentPos);
+    int iAttachmentPos = m_pAttachmentTypeCombo->findData(data.m_attachmentType);
+    m_pAttachmentTypeCombo->setCurrentIndex(iAttachmentPos == -1 ? 0 : iAttachmentPos);
 
     /* Load alternative name: */
@@ -90,14 +79,14 @@
     {
         case KNetworkAttachmentType_Bridged:
-            mBrgName = data.m_strBridgedAdapterName;
-            if (mBrgName.isEmpty()) mBrgName = QString();
+            m_strBrgName = data.m_strBridgedAdapterName;
+            if (m_strBrgName.isEmpty()) m_strBrgName = QString();
             break;
         case KNetworkAttachmentType_Internal:
-            mIntName = data.m_strInternalNetworkName;
-            if (mIntName.isEmpty()) mIntName = QString();
+            m_strIntName = data.m_strInternalNetworkName;
+            if (m_strIntName.isEmpty()) m_strIntName = QString();
             break;
         case KNetworkAttachmentType_HostOnly:
-            mHoiName = data.m_strHostInterfaceName;
-            if (mHoiName.isEmpty()) mHoiName = QString();
+            m_strHoiName = data.m_strHostInterfaceName;
+            if (m_strHoiName.isEmpty()) m_strHoiName = QString();
             break;
 #ifdef VBOX_WITH_VDE
@@ -110,12 +99,20 @@
             break;
     }
-    updateAttachmentAlternative();
+    sltUpdateAttachmentAlternative();
+
+    /* Load adapter type: */
+    int iAdapterPos = m_pAdapterTypeCombo->findData(data.m_adapterType);
+    m_pAdapterTypeCombo->setCurrentIndex(iAdapterPos == -1 ? 0 : iAdapterPos);
+
+    /* Load promiscuous mode type: */
+    int iPromiscuousModePos = m_pPromiscuousModeCombo->findData(data.m_promiscuousMode);
+    m_pPromiscuousModeCombo->setCurrentIndex(iPromiscuousModePos == -1 ? 0 : iPromiscuousModePos);
 
     /* Other options: */
-    mLeMAC->setText(data.m_strMACAddress);
-    mCbCableConnected->setChecked(data.m_fCableConnected);
+    m_pMACEditor->setText(data.m_strMACAddress);
+    m_pCableConnectedCheckBox->setChecked(data.m_fCableConnected);
 
     /* Load port forwarding rules: */
-    mPortForwardingRules = data.m_redirects;
+    m_portForwardingRules = data.m_redirects;
 }
 
@@ -124,7 +121,4 @@
     /* Save adapter activity state: */
     data.m_fAdapterEnabled = mCbEnableAdapter->isChecked();
-
-    /* Save adapter type: */
-    data.m_adapterType = (KNetworkAdapterType)mCbAdapterType->itemData(mCbAdapterType->currentIndex()).toInt();
 
     /* Save attachment type & alternative name: */
@@ -154,38 +148,40 @@
     }
 
+    /* Save adapter type: */
+    data.m_adapterType = (KNetworkAdapterType)m_pAdapterTypeCombo->itemData(m_pAdapterTypeCombo->currentIndex()).toInt();
+
+    /* Save promiscuous mode type: */
+    data.m_promiscuousMode = (KNetworkAdapterPromiscModePolicy)m_pPromiscuousModeCombo->itemData(m_pPromiscuousModeCombo->currentIndex()).toInt();
+
     /* Other options: */
-    data.m_strMACAddress = mLeMAC->text().isEmpty() ? QString() : mLeMAC->text();
-    data.m_fCableConnected = mCbCableConnected->isChecked();
+    data.m_strMACAddress = m_pMACEditor->text().isEmpty() ? QString() : m_pMACEditor->text();
+    data.m_fCableConnected = m_pCableConnectedCheckBox->isChecked();
 
     /* Save port forwarding rules: */
-    data.m_redirects = mPortForwardingRules;
-}
-
-void UIMachineSettingsNetwork::setValidator (QIWidgetValidator *aValidator)
-{
-    mValidator = aValidator;
-
-    if (!mDisableStaticControls)
-        connect (mCbEnableAdapter, SIGNAL (toggled (bool)),
-                 mValidator, SLOT (revalidate()));
-    connect (mCbAttachmentType, SIGNAL (activated (const QString&)),
-             this, SLOT (updateAttachmentAlternative()));
-    connect (mCbAdapterName, SIGNAL (activated (const QString&)),
-             this, SLOT (updateAlternativeName()));
-    connect (mCbAdapterName, SIGNAL (editTextChanged (const QString&)),
-             this, SLOT (updateAlternativeName()));
-
-    if (!mDisableStaticControls)
-        mValidator->revalidate();
-}
-
-bool UIMachineSettingsNetwork::revalidate (QString &aWarning, QString &aTitle)
-{
-    /* 'True' for disabled adapter */
+    data.m_redirects = m_portForwardingRules;
+}
+
+void UIMachineSettingsNetwork::setValidator(QIWidgetValidator *pValidator)
+{
+    m_pValidator = pValidator;
+
+    if (!m_fDisableStaticControls)
+        connect(mCbEnableAdapter, SIGNAL(toggled(bool)), m_pValidator, SLOT(revalidate()));
+    connect(m_pAttachmentTypeCombo, SIGNAL(activated(const QString&)), this, SLOT(sltUpdateAttachmentAlternative()));
+    connect(m_pAdapterNameCombo, SIGNAL(activated(const QString&)), this, SLOT(sltUpdateAlternativeName()));
+    connect(m_pAdapterNameCombo, SIGNAL(editTextChanged(const QString&)), this, SLOT(sltUpdateAlternativeName()));
+
+    if (!m_fDisableStaticControls)
+        m_pValidator->revalidate();
+}
+
+bool UIMachineSettingsNetwork::revalidate(QString &strWarning, QString &strTitle)
+{
+    /* 'True' for disabled adapter: */
     if (!mCbEnableAdapter->isChecked())
         return true;
 
-    /* Validate alternatives */
-    bool valid = true;
+    /* Validate alternatives: */
+    bool fValid = true;
     switch (attachmentType())
     {
@@ -193,6 +189,6 @@
             if (alternativeName().isNull())
             {
-                aWarning = tr ("no bridged network adapter is selected");
-                valid = false;
+                strWarning = tr("no bridged network adapter is selected");
+                fValid = false;
             }
             break;
@@ -200,6 +196,6 @@
             if (alternativeName().isNull())
             {
-                aWarning = tr ("no internal network name is specified");
-                valid = false;
+                strWarning = tr("no internal network name is specified");
+                fValid = false;
             }
             break;
@@ -207,6 +203,6 @@
             if (alternativeName().isNull())
             {
-                aWarning = tr ("no host-only network adapter is selected");
-                valid = false;
+                strWarning = tr("no host-only network adapter is selected");
+                fValid = false;
             }
             break;
@@ -214,23 +210,23 @@
             break;
     }
-
-    if (!valid)
-        aTitle += ": " + vboxGlobal().removeAccelMark (pageTitle());
-
-    return valid;
-}
-
-QWidget* UIMachineSettingsNetwork::setOrderAfter (QWidget *aAfter)
-{
-    setTabOrder (aAfter, mCbEnableAdapter);
-    setTabOrder (mCbEnableAdapter, mCbAttachmentType);
-    setTabOrder (mCbAttachmentType, mCbAdapterName);
-    setTabOrder (mCbAdapterName, mAbsAdvanced);
-    setTabOrder (mAbsAdvanced, mCbAdapterType);
-    setTabOrder (mCbAdapterType, mLeMAC);
-    setTabOrder (mLeMAC, mTbMAC);
-    setTabOrder (mTbMAC, mCbCableConnected);
-    setTabOrder (mCbCableConnected, mPbPortForwarding);
-    return mPbPortForwarding;
+    if (!fValid)
+        strTitle += ": " + vboxGlobal().removeAccelMark(pageTitle());
+
+    return fValid;
+}
+
+QWidget* UIMachineSettingsNetwork::setOrderAfter(QWidget *pAfter)
+{
+    setTabOrder(pAfter, mCbEnableAdapter);
+    setTabOrder(mCbEnableAdapter, m_pAttachmentTypeCombo);
+    setTabOrder(m_pAttachmentTypeCombo, m_pAdapterNameCombo);
+    setTabOrder(m_pAdapterNameCombo, m_pAdvancedArrow);
+    setTabOrder(m_pAdvancedArrow, m_pAdapterTypeCombo);
+    setTabOrder(m_pAdapterTypeCombo, m_pPromiscuousModeCombo);
+    setTabOrder(m_pPromiscuousModeCombo, m_pMACEditor);
+    setTabOrder(m_pMACEditor, m_pMACButton);
+    setTabOrder(m_pMACButton, m_pCableConnectedCheckBox);
+    setTabOrder(m_pCableConnectedCheckBox, m_pPortForwardingButton);
+    return m_pPortForwardingButton;
 }
 
@@ -242,26 +238,26 @@
 KNetworkAttachmentType UIMachineSettingsNetwork::attachmentType() const
 {
-    return (KNetworkAttachmentType) mCbAttachmentType->itemData (
-           mCbAttachmentType->currentIndex()).toInt();
-}
-
-QString UIMachineSettingsNetwork::alternativeName (int aType) const
-{
-    if (aType == -1) aType = attachmentType();
-    QString result;
-    switch (aType)
+    return (KNetworkAttachmentType)m_pAttachmentTypeCombo->itemData(m_pAttachmentTypeCombo->currentIndex()).toInt();
+}
+
+QString UIMachineSettingsNetwork::alternativeName(int type) const
+{
+    if (type == -1)
+        type = attachmentType();
+    QString strResult;
+    switch (type)
     {
         case KNetworkAttachmentType_Bridged:
-            result = mBrgName;
+            strResult = m_strBrgName;
             break;
         case KNetworkAttachmentType_Internal:
-            result = mIntName;
+            strResult = m_strIntName;
             break;
         case KNetworkAttachmentType_HostOnly:
-            result = mHoiName;
+            strResult = m_strHoiName;
             break;
 #ifdef VBOX_WITH_VDE
         case KNetworkAttachmentType_VDE:
-            result = mVDEName;
+            strResult = mVDEName;
             break;
 #endif
@@ -269,82 +265,88 @@
             break;
     }
-    Assert (result.isNull() || !result.isEmpty());
-    return result;
-}
-
-void UIMachineSettingsNetwork::showEvent (QShowEvent *aEvent)
-{
-    if (!mPolished)
-    {
-        mPolished = true;
-
-        /* Give the minimum size hint to the first layout column */
-        mNetworkChildGridLayout->setColumnMinimumWidth (0, mLbAttachmentType->width());
-
-        if (mDisableStaticControls)
-        {
-            /* Disable controls for dynamically displayed page */
-            mCbEnableAdapter->setEnabled (false);
-            mCbAdapterType->setEnabled (false);
-            mLeMAC->setEnabled (false);
-            mTbMAC->setEnabled (false);
-            mLbAdapterType->setEnabled (false);
-            mLbMAC->setEnabled (false);
-            mAbsAdvanced->animateClick();
+    Assert(strResult.isNull() || !strResult.isEmpty());
+    return strResult;
+}
+
+void UIMachineSettingsNetwork::showEvent(QShowEvent *pEvent)
+{
+    if (!m_fPolished)
+    {
+        m_fPolished = true;
+
+        /* Give the minimum size hint to the first layout column: */
+        m_pNetworkChildGridLayout->setColumnMinimumWidth (0, m_pAttachmentTypeLabel->width());
+
+        if (m_fDisableStaticControls)
+        {
+            /* Disable controls for dynamically displayed page: */
+            mCbEnableAdapter->setEnabled(false);
+            m_pAdapterTypeCombo->setEnabled(false);
+            m_pPromiscuousModeCombo->setEnabled(false);
+            m_pMACEditor->setEnabled(false);
+            m_pMACButton->setEnabled(false);
+            m_pAdapterTypeLabel->setEnabled(false);
+            m_pPromiscuousModeLabel->setEnabled(false);
+            m_pMACLabel->setEnabled(false);
+            m_pAdvancedArrow->animateClick();
         }
         else
         {
-            /* Hide advanced items initially */
-            toggleAdvanced();
-        }
-    }
-    QWidget::showEvent (aEvent);
+            /* Hide advanced items initially: */
+            sltToggleAdvanced();
+        }
+    }
+    QWidget::showEvent(pEvent);
 }
 
 void UIMachineSettingsNetwork::retranslateUi()
 {
-    /* Translate uic generated strings */
-    Ui::UIMachineSettingsNetwork::retranslateUi (this);
-
-    /* Translate combo-boxes content */
+    /* Translate uic generated strings: */
+    Ui::UIMachineSettingsNetwork::retranslateUi(this);
+
+    /* Translate combo-boxes content: */
     populateComboboxes();
 
-    /* Translate attachment info */
-    updateAttachmentAlternative();
-}
-
-void UIMachineSettingsNetwork::updateAttachmentAlternative()
-{
-    /* Blocking signals to change content manually */
-    mCbAdapterName->blockSignals (true);
-
-    /* Update alternative-name combo-box availability */
-    mLbAdapterName->setEnabled (attachmentType() != KNetworkAttachmentType_Null &&
-                                attachmentType() != KNetworkAttachmentType_NAT);
-    mCbAdapterName->setEnabled (attachmentType() != KNetworkAttachmentType_Null &&
-                                attachmentType() != KNetworkAttachmentType_NAT);
-
-    /* Refresh list */
-    mCbAdapterName->clear();
+    /* Translate attachment info: */
+    sltUpdateAttachmentAlternative();
+}
+
+void UIMachineSettingsNetwork::sltUpdateAttachmentAlternative()
+{
+    /* Blocking signals to change content manually: */
+    m_pAdapterNameCombo->blockSignals(true);
+
+    /* Update alternative-name combo-box availability: */
+    m_pAdapterNameLabel->setEnabled(attachmentType() != KNetworkAttachmentType_Null &&
+                                    attachmentType() != KNetworkAttachmentType_NAT);
+    m_pAdapterNameCombo->setEnabled(attachmentType() != KNetworkAttachmentType_Null &&
+                                    attachmentType() != KNetworkAttachmentType_NAT);
+    m_pPromiscuousModeLabel->setEnabled(attachmentType() != KNetworkAttachmentType_Null &&
+                                        attachmentType() != KNetworkAttachmentType_NAT);
+    m_pPromiscuousModeCombo->setEnabled(attachmentType() != KNetworkAttachmentType_Null &&
+                                        attachmentType() != KNetworkAttachmentType_NAT);
+
+    /* Refresh list: */
+    m_pAdapterNameCombo->clear();
     switch (attachmentType())
     {
         case KNetworkAttachmentType_Bridged:
-            mCbAdapterName->insertItems (0, mParent->brgList());
-            mCbAdapterName->setEditable (false);
+            m_pAdapterNameCombo->insertItems(0, m_pParent->brgList());
+            m_pAdapterNameCombo->setEditable(false);
             break;
         case KNetworkAttachmentType_Internal:
-            mCbAdapterName->insertItems (0, mParent->fullIntList());
-            mCbAdapterName->setEditable (true);
-            mCbAdapterName->setCompleter (0);
+            m_pAdapterNameCombo->insertItems(0, m_pParent->fullIntList());
+            m_pAdapterNameCombo->setEditable(true);
+            m_pAdapterNameCombo->setCompleter(0);
             break;
         case KNetworkAttachmentType_HostOnly:
-            mCbAdapterName->insertItems (0, mParent->hoiList());
-            mCbAdapterName->setEditable (false);
+            m_pAdapterNameCombo->insertItems(0, m_pParent->hoiList());
+            m_pAdapterNameCombo->setEditable(false);
             break;
 #ifdef VBOX_WITH_VDE
         case KNetworkAttachmentType_VDE:
-            mCbAdapterName->insertItem(0, alternativeName());
-            mCbAdapterName->setEditable (true);
-            mCbAdapterName->setCompleter (0);
+            m_pAdapterNameCombo->insertItem(0, alternativeName());
+            m_pAdapterNameCombo->setEditable(true);
+            m_pAdapterNameCombo->setCompleter(0);
             break;
 #endif
@@ -353,6 +355,6 @@
     }
 
-    /* Prepend 'empty' or 'default' item */
-    if (mCbAdapterName->count() == 0)
+    /* Prepend 'empty' or 'default' item: */
+    if (m_pAdapterNameCombo->count() == 0)
     {
         switch (attachmentType())
@@ -361,17 +363,17 @@
             case KNetworkAttachmentType_HostOnly:
             {
-                /* Adapters list 'empty' */
-                int pos = mCbAdapterName->findData (emptyItemCode);
+                /* Adapters list 'empty': */
+                int pos = m_pAdapterNameCombo->findData(emptyItemCode);
                 if (pos == -1)
-                    mCbAdapterName->insertItem (0, tr ("Not selected", "network adapter name"), emptyItemCode);
+                    m_pAdapterNameCombo->insertItem(0, tr("Not selected", "network adapter name"), emptyItemCode);
                 else
-                    mCbAdapterName->setItemText (pos, tr ("Not selected", "network adapter name"));
+                    m_pAdapterNameCombo->setItemText(pos, tr("Not selected", "network adapter name"));
                 break;
             }
             case KNetworkAttachmentType_Internal:
             {
-                /* Internal network 'default' name */
-                if (mCbAdapterName->findText ("intnet") == -1)
-                    mCbAdapterName->insertItem (0, "intnet");
+                /* Internal network 'default' name: */
+                if (m_pAdapterNameCombo->findText("intnet") == -1)
+                    m_pAdapterNameCombo->insertItem(0, "intnet");
                 break;
             }
@@ -381,5 +383,5 @@
     }
 
-    /* Select previous or default item */
+    /* Select previous or default item: */
     switch (attachmentType())
     {
@@ -387,12 +389,12 @@
         case KNetworkAttachmentType_HostOnly:
         {
-            int pos = mCbAdapterName->findText (alternativeName());
-            mCbAdapterName->setCurrentIndex (pos == -1 ? 0 : pos);
+            int pos = m_pAdapterNameCombo->findText(alternativeName());
+            m_pAdapterNameCombo->setCurrentIndex(pos == -1 ? 0 : pos);
             break;
         }
         case KNetworkAttachmentType_Internal:
         {
-            int pos = mCbAdapterName->findText (alternativeName());
-            mCbAdapterName->setCurrentIndex (pos == -1 ? 0 : pos);
+            int pos = m_pAdapterNameCombo->findText(alternativeName());
+            m_pAdapterNameCombo->setCurrentIndex(pos == -1 ? 0 : pos);
             break;
         }
@@ -401,15 +403,15 @@
     }
 
-    /* Remember selected item */
-    updateAlternativeName();
+    /* Remember selected item: */
+    sltUpdateAlternativeName();
 
     /* Update Forwarding rules button availability: */
-    mPbPortForwarding->setEnabled(attachmentType() == KNetworkAttachmentType_NAT);
-
-    /* Unblocking signals as content is changed already */
-    mCbAdapterName->blockSignals (false);
-}
-
-void UIMachineSettingsNetwork::updateAlternativeName()
+    m_pPortForwardingButton->setEnabled(attachmentType() == KNetworkAttachmentType_NAT);
+
+    /* Unblocking signals as content is changed already: */
+    m_pAdapterNameCombo->blockSignals(false);
+}
+
+void UIMachineSettingsNetwork::sltUpdateAlternativeName()
 {
     switch (attachmentType())
@@ -417,25 +419,25 @@
         case KNetworkAttachmentType_Bridged:
         {
-            QString newName (mCbAdapterName->itemData (mCbAdapterName->currentIndex()).toString() ==
-                             QString (emptyItemCode) ||
-                             mCbAdapterName->currentText().isEmpty() ?
-                             QString::null : mCbAdapterName->currentText());
-            if (mBrgName != newName)
-                mBrgName = newName;
+            QString newName(m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() ==
+                            QString(emptyItemCode) ||
+                            m_pAdapterNameCombo->currentText().isEmpty() ?
+                            QString::null : m_pAdapterNameCombo->currentText());
+            if (m_strBrgName != newName)
+                m_strBrgName = newName;
             break;
         }
         case KNetworkAttachmentType_Internal:
         {
-            QString newName ((mCbAdapterName->itemData (mCbAdapterName->currentIndex()).toString() ==
-                              QString (emptyItemCode) &&
-                              mCbAdapterName->currentText() ==
-                              mCbAdapterName->itemText (mCbAdapterName->currentIndex())) ||
-                              mCbAdapterName->currentText().isEmpty() ?
-                              QString::null : mCbAdapterName->currentText());
-            if (mIntName != newName)
+            QString newName((m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() ==
+                             QString(emptyItemCode) &&
+                             m_pAdapterNameCombo->currentText() ==
+                             m_pAdapterNameCombo->itemText(m_pAdapterNameCombo->currentIndex())) ||
+                             m_pAdapterNameCombo->currentText().isEmpty() ?
+                             QString::null : m_pAdapterNameCombo->currentText());
+            if (m_strIntName != newName)
             {
-                mIntName = newName;
-                if (!mIntName.isNull())
-                    QTimer::singleShot (0, mParent, SLOT (updatePages()));
+                m_strIntName = newName;
+                if (!m_strIntName.isNull())
+                    QTimer::singleShot(0, m_pParent, SLOT (updatePages()));
             }
             break;
@@ -443,10 +445,10 @@
         case KNetworkAttachmentType_HostOnly:
         {
-            QString newName (mCbAdapterName->itemData (mCbAdapterName->currentIndex()).toString() ==
-                             QString (emptyItemCode) ||
-                             mCbAdapterName->currentText().isEmpty() ?
-                             QString::null : mCbAdapterName->currentText());
-            if (mHoiName != newName)
-                mHoiName = newName;
+            QString newName(m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() ==
+                            QString(emptyItemCode) ||
+                            m_pAdapterNameCombo->currentText().isEmpty() ?
+                            QString::null : m_pAdapterNameCombo->currentText());
+            if (m_strHoiName != newName)
+                m_strHoiName = newName;
             break;
         }
@@ -454,10 +456,10 @@
         case KNetworkAttachmentType_VDE:
         {
-            QString newName ((mCbAdapterName->itemData (mCbAdapterName->currentIndex()).toString() ==
-                              QString (emptyItemCode) &&
-                              mCbAdapterName->currentText() ==
-                              mCbAdapterName->itemText (mCbAdapterName->currentIndex())) ||
-                              mCbAdapterName->currentText().isEmpty() ?
-                              QString::null : mCbAdapterName->currentText());
+            QString newName((m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() ==
+                             QString(emptyItemCode) &&
+                             m_pAdapterNameCombo->currentText() ==
+                             m_pAdapterNameCombo->itemText(m_pAdapterNameCombo->currentIndex())) ||
+                             m_pAdapterNameCombo->currentText().isEmpty() ?
+                             QString::null : m_pAdapterNameCombo->currentText());
             if (mVDEName != newName)
                 mVDEName = newName;
@@ -469,169 +471,175 @@
     }
 
-    if (mValidator)
-        mValidator->revalidate();
-}
-
-void UIMachineSettingsNetwork::toggleAdvanced()
-{
-    mLbAdapterType->setVisible (mAbsAdvanced->isExpanded());
-    mCbAdapterType->setVisible (mAbsAdvanced->isExpanded());
-    mLbMAC->setVisible (mAbsAdvanced->isExpanded());
-    mLeMAC->setVisible (mAbsAdvanced->isExpanded());
-    mTbMAC->setVisible (mAbsAdvanced->isExpanded());
-    mCbCableConnected->setVisible (mAbsAdvanced->isExpanded());
-    mPbPortForwarding->setVisible (mAbsAdvanced->isExpanded());
-}
-
-void UIMachineSettingsNetwork::generateMac()
+    if (m_pValidator)
+        m_pValidator->revalidate();
+}
+
+void UIMachineSettingsNetwork::sltToggleAdvanced()
+{
+    m_pAdapterTypeLabel->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pAdapterTypeCombo->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pPromiscuousModeLabel->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pPromiscuousModeCombo->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pMACLabel->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pMACEditor->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pMACButton->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pCableConnectedCheckBox->setVisible(m_pAdvancedArrow->isExpanded());
+    m_pPortForwardingButton->setVisible(m_pAdvancedArrow->isExpanded());
+}
+
+void UIMachineSettingsNetwork::sltGenerateMac()
 {
     m_adapter.SetMACAddress(QString::null);
-    mLeMAC->setText(m_adapter.GetMACAddress());
+    m_pMACEditor->setText(m_adapter.GetMACAddress());
 }
 
 void UIMachineSettingsNetwork::sltOpenPortForwardingDlg()
 {
-    UIMachineSettingsPortForwardingDlg dlg(this, mPortForwardingRules);
+    UIMachineSettingsPortForwardingDlg dlg(this, m_portForwardingRules);
     if (dlg.exec() == QDialog::Accepted)
-        mPortForwardingRules = dlg.rules();
+        m_portForwardingRules = dlg.rules();
 }
 
 void UIMachineSettingsNetwork::populateComboboxes()
 {
-    /* Save the current selected adapter */
-    int currentAdapter = mCbAdapterType->currentIndex();
-
-    /* Clear the adapters combo-box */
-    mCbAdapterType->clear();
-
-    /* Populate adapters */
-    mCbAdapterType->insertItem (0,
-        vboxGlobal().toString (KNetworkAdapterType_Am79C970A));
-    mCbAdapterType->setItemData (0,
-        KNetworkAdapterType_Am79C970A);
-    mCbAdapterType->setItemData (0,
-        mCbAdapterType->itemText (0), Qt::ToolTipRole);
-    mCbAdapterType->insertItem (1,
-        vboxGlobal().toString (KNetworkAdapterType_Am79C973));
-    mCbAdapterType->setItemData (1,
-        KNetworkAdapterType_Am79C973);
-    mCbAdapterType->setItemData (1,
-        mCbAdapterType->itemText (1), Qt::ToolTipRole);
+    /* Attachment type: */
+    {
+        /* Remember the currently selected attachment type: */
+        int iCurrentAttachment = m_pAttachmentTypeCombo->currentIndex();
+
+        /* Clear the attachments combo-box: */
+        m_pAttachmentTypeCombo->clear();
+
+        /* Populate attachments: */
+        int iAttachmentTypeIndex = 0;
+        m_pAttachmentTypeCombo->insertItem(iAttachmentTypeIndex, vboxGlobal().toString(KNetworkAttachmentType_Null));
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Null);
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeCombo->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
+        ++iAttachmentTypeIndex;
+        m_pAttachmentTypeCombo->insertItem(iAttachmentTypeIndex, vboxGlobal().toString(KNetworkAttachmentType_NAT));
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_NAT);
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeCombo->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
+        ++iAttachmentTypeIndex;
+        m_pAttachmentTypeCombo->insertItem(iAttachmentTypeIndex, vboxGlobal().toString(KNetworkAttachmentType_Bridged));
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Bridged);
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeCombo->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
+        ++iAttachmentTypeIndex;
+        m_pAttachmentTypeCombo->insertItem(iAttachmentTypeIndex, vboxGlobal().toString(KNetworkAttachmentType_Internal));
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_Internal);
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeCombo->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
+        ++iAttachmentTypeIndex;
+        m_pAttachmentTypeCombo->insertItem(iAttachmentTypeIndex, vboxGlobal().toString(KNetworkAttachmentType_HostOnly));
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_HostOnly);
+        m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeCombo->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
+        ++iAttachmentTypeIndex;
+#ifdef VBOX_WITH_VDE
+        RTLDRMOD hLdrDummy;
+        if (RT_SUCCESS(RTLdrLoad(VBOX_LIB_VDE_PLUG_NAME, &hLdrDummy)))
+        {
+            m_pAttachmentTypeCombo->insertItem(iAttachmentTypeIndex, vboxGlobal().toString(KNetworkAttachmentType_VDE));
+            m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, KNetworkAttachmentType_VDE);
+            m_pAttachmentTypeCombo->setItemData(iAttachmentTypeIndex, m_pAttachmentTypeCombo->itemText(iAttachmentTypeIndex), Qt::ToolTipRole);
+            ++iAttachmentTypeIndex;
+        }
+#endif
+
+        /* Restore the previously selected attachment type: */
+        m_pAttachmentTypeCombo->setCurrentIndex(iCurrentAttachment);
+    }
+
+    /* Adapter type: */
+    {
+        /* Remember the currently selected adapter type: */
+        int iCurrentAdapter = m_pAdapterTypeCombo->currentIndex();
+
+        /* Clear the adapter type combo-box: */
+        m_pAdapterTypeCombo->clear();
+
+        /* Populate adapter types: */
+        int iAdapterTypeIndex = 0;
+        m_pAdapterTypeCombo->insertItem(iAdapterTypeIndex, vboxGlobal().toString(KNetworkAdapterType_Am79C970A));
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, KNetworkAdapterType_Am79C970A);
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, m_pAdapterTypeCombo->itemText(iAdapterTypeIndex), Qt::ToolTipRole);
+        ++iAdapterTypeIndex;
+        m_pAdapterTypeCombo->insertItem(iAdapterTypeIndex, vboxGlobal().toString(KNetworkAdapterType_Am79C973));
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, KNetworkAdapterType_Am79C973);
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, m_pAdapterTypeCombo->itemText(iAdapterTypeIndex), Qt::ToolTipRole);
+        ++iAdapterTypeIndex;
 #ifdef VBOX_WITH_E1000
-    mCbAdapterType->insertItem (2,
-        vboxGlobal().toString (KNetworkAdapterType_I82540EM));
-    mCbAdapterType->setItemData (2,
-        KNetworkAdapterType_I82540EM);
-    mCbAdapterType->setItemData (2,
-        mCbAdapterType->itemText (2), Qt::ToolTipRole);
-    mCbAdapterType->insertItem (3,
-        vboxGlobal().toString (KNetworkAdapterType_I82543GC));
-    mCbAdapterType->setItemData (3,
-        KNetworkAdapterType_I82543GC);
-    mCbAdapterType->setItemData (3,
-        mCbAdapterType->itemText (3), Qt::ToolTipRole);
-    mCbAdapterType->insertItem (4,
-        vboxGlobal().toString (KNetworkAdapterType_I82545EM));
-    mCbAdapterType->setItemData (4,
-        KNetworkAdapterType_I82545EM);
-    mCbAdapterType->setItemData (4,
-        mCbAdapterType->itemText (4), Qt::ToolTipRole);
+        m_pAdapterTypeCombo->insertItem(iAdapterTypeIndex, vboxGlobal().toString(KNetworkAdapterType_I82540EM));
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, KNetworkAdapterType_I82540EM);
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, m_pAdapterTypeCombo->itemText(iAdapterTypeIndex), Qt::ToolTipRole);
+        ++iAdapterTypeIndex;
+        m_pAdapterTypeCombo->insertItem(iAdapterTypeIndex, vboxGlobal().toString(KNetworkAdapterType_I82543GC));
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, KNetworkAdapterType_I82543GC);
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, m_pAdapterTypeCombo->itemText(iAdapterTypeIndex), Qt::ToolTipRole);
+        ++iAdapterTypeIndex;
+        m_pAdapterTypeCombo->insertItem(iAdapterTypeIndex, vboxGlobal().toString(KNetworkAdapterType_I82545EM));
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, KNetworkAdapterType_I82545EM);
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, m_pAdapterTypeCombo->itemText(iAdapterTypeIndex), Qt::ToolTipRole);
+        ++iAdapterTypeIndex;
 #endif /* VBOX_WITH_E1000 */
 #ifdef VBOX_WITH_VIRTIO
-    mCbAdapterType->insertItem (5,
-        vboxGlobal().toString (KNetworkAdapterType_Virtio));
-    mCbAdapterType->setItemData (5,
-        KNetworkAdapterType_Virtio);
-    mCbAdapterType->setItemData (5,
-        mCbAdapterType->itemText (5), Qt::ToolTipRole);
+        m_pAdapterTypeCombo->insertItem(iAdapterTypeIndex, vboxGlobal().toString(KNetworkAdapterType_Virtio));
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, KNetworkAdapterType_Virtio);
+        m_pAdapterTypeCombo->setItemData(iAdapterTypeIndex, m_pAdapterTypeCombo->itemText(iAdapterTypeIndex), Qt::ToolTipRole);
+        ++iAdapterTypeIndex;
 #endif /* VBOX_WITH_VIRTIO */
 
-    /* Set the old value */
-    mCbAdapterType->setCurrentIndex (currentAdapter == -1 ?
-                                     0 : currentAdapter);
-
-
-    /* Save the current selected attachment type */
-    int currentAttachment = mCbAttachmentType->currentIndex();
-
-    /* Clear the attachments combo-box */
-    mCbAttachmentType->clear();
-
-    /* Populate attachments */
-    mCbAttachmentType->insertItem (0,
-        vboxGlobal().toString (KNetworkAttachmentType_Null));
-    mCbAttachmentType->setItemData (0,
-        KNetworkAttachmentType_Null);
-    mCbAttachmentType->setItemData (0,
-        mCbAttachmentType->itemText (0), Qt::ToolTipRole);
-    mCbAttachmentType->insertItem (1,
-        vboxGlobal().toString (KNetworkAttachmentType_NAT));
-    mCbAttachmentType->setItemData (1,
-        KNetworkAttachmentType_NAT);
-    mCbAttachmentType->setItemData (1,
-        mCbAttachmentType->itemText (1), Qt::ToolTipRole);
-    mCbAttachmentType->insertItem (2,
-        vboxGlobal().toString (KNetworkAttachmentType_Bridged));
-    mCbAttachmentType->setItemData (2,
-        KNetworkAttachmentType_Bridged);
-    mCbAttachmentType->setItemData (2,
-        mCbAttachmentType->itemText (2), Qt::ToolTipRole);
-    mCbAttachmentType->insertItem (3,
-        vboxGlobal().toString (KNetworkAttachmentType_Internal));
-    mCbAttachmentType->setItemData (3,
-        KNetworkAttachmentType_Internal);
-    mCbAttachmentType->setItemData (3,
-        mCbAttachmentType->itemText (3), Qt::ToolTipRole);
-    mCbAttachmentType->insertItem (4,
-        vboxGlobal().toString (KNetworkAttachmentType_HostOnly));
-    mCbAttachmentType->setItemData (4,
-        KNetworkAttachmentType_HostOnly);
-    mCbAttachmentType->setItemData (4,
-        mCbAttachmentType->itemText (4), Qt::ToolTipRole);
-#ifdef VBOX_WITH_VDE
-    RTLDRMOD hLdrDummy;
-    if (RT_SUCCESS(RTLdrLoad(VBOX_LIB_VDE_PLUG_NAME, &hLdrDummy)))
-    {
-        mCbAttachmentType->insertItem (5,
-            vboxGlobal().toString (KNetworkAttachmentType_VDE));
-        mCbAttachmentType->setItemData (5,
-            KNetworkAttachmentType_VDE);
-        mCbAttachmentType->setItemData (5,
-            mCbAttachmentType->itemText (5), Qt::ToolTipRole);
-    }
-#endif
-
-    /* Set the old value */
-    mCbAttachmentType->setCurrentIndex (currentAttachment);
+        /* Restore the previously selected adapter type: */
+        m_pAdapterTypeCombo->setCurrentIndex(iCurrentAdapter == -1 ? 0 : iCurrentAdapter);
+    }
+
+    /* Promiscuous Mode type: */
+    {
+        /* Remember the currently selected promiscuous mode type: */
+        int iCurrentPromiscuousMode = m_pPromiscuousModeCombo->currentIndex();
+
+        /* Clear the promiscuous mode combo-box: */
+        m_pPromiscuousModeCombo->clear();
+
+        /* Populate promiscuous modes: */
+        int iPromiscuousModeIndex = 0;
+        m_pPromiscuousModeCombo->insertItem(iPromiscuousModeIndex, vboxGlobal().toString(KNetworkAdapterPromiscModePolicy_Deny));
+        m_pPromiscuousModeCombo->setItemData(iPromiscuousModeIndex, KNetworkAdapterPromiscModePolicy_Deny);
+        m_pPromiscuousModeCombo->setItemData(iPromiscuousModeIndex, m_pPromiscuousModeCombo->itemText(iPromiscuousModeIndex), Qt::ToolTipRole);
+        ++iPromiscuousModeIndex;
+        m_pPromiscuousModeCombo->insertItem(iPromiscuousModeIndex, vboxGlobal().toString(KNetworkAdapterPromiscModePolicy_AllowNetwork));
+        m_pPromiscuousModeCombo->setItemData(iPromiscuousModeIndex, KNetworkAdapterPromiscModePolicy_AllowNetwork);
+        m_pPromiscuousModeCombo->setItemData(iPromiscuousModeIndex, m_pPromiscuousModeCombo->itemText(iPromiscuousModeIndex), Qt::ToolTipRole);
+        ++iPromiscuousModeIndex;
+        m_pPromiscuousModeCombo->insertItem(iPromiscuousModeIndex, vboxGlobal().toString(KNetworkAdapterPromiscModePolicy_AllowAll));
+        m_pPromiscuousModeCombo->setItemData(iPromiscuousModeIndex, KNetworkAdapterPromiscModePolicy_AllowAll);
+        m_pPromiscuousModeCombo->setItemData(iPromiscuousModeIndex, m_pPromiscuousModeCombo->itemText(iPromiscuousModeIndex), Qt::ToolTipRole);
+        ++iPromiscuousModeIndex;
+
+        /* Restore the previously selected promiscuous mode type: */
+        m_pPromiscuousModeCombo->setCurrentIndex(iCurrentPromiscuousMode);
+    }
 }
 
 /* UIMachineSettingsNetworkPage Stuff */
-UIMachineSettingsNetworkPage::UIMachineSettingsNetworkPage(bool aDisableStaticControls)
-    : mValidator(0)
-    , mTwAdapters(0)
-    , mDisableStaticControls(false)
-{
-    /* Setup Main Layout */
-    QVBoxLayout *mainLayout = new QVBoxLayout (this);
-    mainLayout->setContentsMargins (0, 5, 0, 5);
-
-    /* Creating Tab Widget */
-    mTwAdapters = new QITabWidget (this);
-    mainLayout->addWidget (mTwAdapters);
-
-    /* If some controls should be disabled or not when the
-     * same tab widgets are shown during runtime
-     */
-    mDisableStaticControls = aDisableStaticControls;
-
-    /* How many adapters to display */
+UIMachineSettingsNetworkPage::UIMachineSettingsNetworkPage(bool fDisableStaticControls)
+    : m_pValidator(0)
+    , m_pTwAdapters(0)
+    , m_fDisableStaticControls(fDisableStaticControls)
+{
+    /* Setup main layout: */
+    QVBoxLayout *pMainLayout = new QVBoxLayout(this);
+    pMainLayout->setContentsMargins(0, 5, 0, 5);
+
+    /* Creating tab-widget: */
+    m_pTwAdapters = new QITabWidget(this);
+    pMainLayout->addWidget(m_pTwAdapters);
+
+    /* How many adapters to display: */
     ulong uCount = qMin((ULONG)4, vboxGlobal().virtualBox().GetSystemProperties().GetMaxNetworkAdapters(KChipsetType_PIIX3));
-    /* Add the tab pages to parent tab widget. Needed for space calculations. */
+    /* Add the tab pages to parent tab widget. Needed for space calculations: */
     for (ulong iSlot = 0; iSlot < uCount; ++iSlot)
     {
         /* Creating adapter's page: */
-        UIMachineSettingsNetwork *pPage = new UIMachineSettingsNetwork(this, mDisableStaticControls);
+        UIMachineSettingsNetwork *pPage = new UIMachineSettingsNetwork(this, m_fDisableStaticControls);
         /* Attach adapter's page to Tab Widget: */
-        mTwAdapters->addTab(pPage, pPage->pageTitle());
+        m_pTwAdapters->addTab(pPage, pPage->pageTitle());
     }
 }
@@ -655,41 +663,40 @@
 }
 
-QStringList UIMachineSettingsNetworkPage::brgList (bool aRefresh)
-{
-    if (aRefresh)
-    {
-        /* Load & filter interface list */
-        mBrgList.clear();
-        CHostNetworkInterfaceVector interfaces =
-            vboxGlobal().virtualBox().GetHost().GetNetworkInterfaces();
+QStringList UIMachineSettingsNetworkPage::brgList(bool fRefresh)
+{
+    if (fRefresh)
+    {
+        /* Load & filter interface list: */
+        m_brgList.clear();
+        CHostNetworkInterfaceVector interfaces = vboxGlobal().virtualBox().GetHost().GetNetworkInterfaces();
         for (CHostNetworkInterfaceVector::ConstIterator it = interfaces.begin();
-             it != interfaces.end(); ++ it)
+             it != interfaces.end(); ++it)
         {
             if (it->GetInterfaceType() == KHostNetworkInterfaceType_Bridged)
-                mBrgList << it->GetName();
-        }
-    }
-
-    return mBrgList;
-}
-
-QStringList UIMachineSettingsNetworkPage::intList (bool aRefresh)
-{
-    if (aRefresh)
-    {
-        /* Load total network list of all VMs */
-        mIntList.clear();
+                m_brgList << it->GetName();
+        }
+    }
+
+    return m_brgList;
+}
+
+QStringList UIMachineSettingsNetworkPage::intList(bool fRefresh)
+{
+    if (fRefresh)
+    {
+        /* Load total network list of all VMs: */
+        m_intList.clear();
         CVirtualBox vbox = vboxGlobal().virtualBox();
         ulong count = qMin ((ULONG) 4, vbox.GetSystemProperties().GetMaxNetworkAdapters(KChipsetType_PIIX3));
         CMachineVector vec = vbox.GetMachines();
-        for (CMachineVector::ConstIterator m = vec.begin(); m != vec.end(); ++ m)
+        for (CMachineVector::ConstIterator m = vec.begin(); m != vec.end(); ++m)
         {
             if (m->GetAccessible())
             {
-                for (ulong slot = 0; slot < count; ++ slot)
+                for (ulong slot = 0; slot < count; ++slot)
                 {
-                    QString name = m->GetNetworkAdapter (slot).GetInternalNetwork();
-                    if (!name.isEmpty() && !mIntList.contains (name))
-                        mIntList << name;
+                    QString strName = m->GetNetworkAdapter(slot).GetInternalNetwork();
+                    if (!strName.isEmpty() && !m_intList.contains(strName))
+                        m_intList << strName;
                 }
             }
@@ -697,20 +704,20 @@
     }
 
-    return mIntList;
-}
-
-QStringList UIMachineSettingsNetworkPage::fullIntList (bool aRefresh)
-{
-    QStringList list (intList (aRefresh));
-    /* Append network list with names from all the pages */
-    for (int index = 0; index < mTwAdapters->count(); ++ index)
-    {
-        UIMachineSettingsNetwork *page =
-            qobject_cast <UIMachineSettingsNetwork*> (mTwAdapters->widget (index));
-        if (page)
-        {
-            QString name = page->alternativeName (KNetworkAttachmentType_Internal);
-            if (!name.isEmpty() && !list.contains (name))
-                list << name;
+    return m_intList;
+}
+
+QStringList UIMachineSettingsNetworkPage::fullIntList(bool fRefresh)
+{
+    QStringList list(intList(fRefresh));
+    /* Append network list with names from all the pages: */
+    for (int index = 0; index < m_pTwAdapters->count(); ++index)
+    {
+        UIMachineSettingsNetwork *pPage =
+            qobject_cast <UIMachineSettingsNetwork*>(m_pTwAdapters->widget(index));
+        if (pPage)
+        {
+            QString strName = pPage->alternativeName(KNetworkAttachmentType_Internal);
+            if (!strName.isEmpty() && !list.contains(strName))
+                list << strName;
         }
     }
@@ -718,21 +725,20 @@
 }
 
-QStringList UIMachineSettingsNetworkPage::hoiList (bool aRefresh)
-{
-    if (aRefresh)
-    {
-        /* Load & filter interface list */
-        mHoiList.clear();
-        CHostNetworkInterfaceVector interfaces =
-            vboxGlobal().virtualBox().GetHost().GetNetworkInterfaces();
+QStringList UIMachineSettingsNetworkPage::hoiList(bool fRefresh)
+{
+    if (fRefresh)
+    {
+        /* Load & filter interface list: */
+        m_hoiList.clear();
+        CHostNetworkInterfaceVector interfaces = vboxGlobal().virtualBox().GetHost().GetNetworkInterfaces();
         for (CHostNetworkInterfaceVector::ConstIterator it = interfaces.begin();
-             it != interfaces.end(); ++ it)
+             it != interfaces.end(); ++it)
         {
             if (it->GetInterfaceType() == KHostNetworkInterfaceType_HostOnly)
-                mHoiList << it->GetName();
-        }
-    }
-
-    return mHoiList;
+                m_hoiList << it->GetName();
+        }
+    }
+
+    return m_hoiList;
 }
 
@@ -763,5 +769,4 @@
         data.m_adapter = adapter;
         data.m_fAdapterEnabled = adapter.GetEnabled();
-        data.m_adapterType = adapter.GetAdapterType();
         data.m_attachmentType = adapter.GetAttachmentType();
         switch (data.m_attachmentType)
@@ -790,4 +795,6 @@
 
         /* Load advanced options: */
+        data.m_adapterType = adapter.GetAdapterType();
+        data.m_promiscuousMode = adapter.GetPromiscModePolicy();
         data.m_strMACAddress = adapter.GetMACAddress();
         data.m_fCableConnected = adapter.GetCableConnected();
@@ -821,12 +828,11 @@
     /* Setup tab order: */
     Assert(m_pFirstWidget);
-    setTabOrder(m_pFirstWidget, mTwAdapters->focusProxy());
-    QWidget *pLastFocusWidget = mTwAdapters->focusProxy();
-
-    int uCount = qMin(mTwAdapters->count(), m_cache.m_items.size());
+    setTabOrder(m_pFirstWidget, m_pTwAdapters->focusProxy());
+    QWidget *pLastFocusWidget = m_pTwAdapters->focusProxy();
+
+    int uCount = qMin(m_pTwAdapters->count(), m_cache.m_items.size());
     for (int iSlot = 0; iSlot < uCount; ++iSlot)
     {
-        UIMachineSettingsNetwork *pPage =
-            qobject_cast<UIMachineSettingsNetwork *>(mTwAdapters->widget(iSlot));
+        UIMachineSettingsNetwork *pPage = qobject_cast<UIMachineSettingsNetwork*>(m_pTwAdapters->widget(iSlot));
         Assert(pPage);
 
@@ -835,9 +841,9 @@
 
         /* Disable tab page of disabled adapter if it is being configured dynamically: */
-        if (mDisableStaticControls && !m_cache.m_items[iSlot].m_fAdapterEnabled)
-            mTwAdapters->setTabEnabled(iSlot, false);
+        if (m_fDisableStaticControls && !m_cache.m_items[iSlot].m_fAdapterEnabled)
+            m_pTwAdapters->setTabEnabled(iSlot, false);
 
         /* Setup page validation: */
-        pPage->setValidator(mValidator);
+        pPage->setValidator(m_pValidator);
 
         /* Setup tab order: */
@@ -849,5 +855,5 @@
 
     /* Revalidate if possible: */
-    if (mValidator) mValidator->revalidate();
+    if (m_pValidator) m_pValidator->revalidate();
 }
 
@@ -860,5 +866,5 @@
     {
         /* Getting adapter's page: */
-        UIMachineSettingsNetwork *pPage = qobject_cast<UIMachineSettingsNetwork*>(mTwAdapters->widget(iSlot));
+        UIMachineSettingsNetwork *pPage = qobject_cast<UIMachineSettingsNetwork*>(m_pTwAdapters->widget(iSlot));
 
         /* Loading Adapter's data from page: */
@@ -885,5 +891,4 @@
         /* Save main options: */
         adapter.SetEnabled(data.m_fAdapterEnabled);
-        adapter.SetAdapterType(data.m_adapterType);
         switch (data.m_attachmentType)
         {
@@ -917,4 +922,6 @@
 
         /* Save advanced options: */
+        adapter.SetAdapterType(data.m_adapterType);
+        adapter.SetPromiscModePolicy(data.m_promiscuousMode);
         adapter.SetMACAddress(data.m_strMACAddress);
         adapter.SetCableConnected(data.m_fCableConnected);
@@ -938,33 +945,32 @@
 }
 
-void UIMachineSettingsNetworkPage::setValidator (QIWidgetValidator *aVal)
-{
-    mValidator = aVal;
-}
-
-bool UIMachineSettingsNetworkPage::revalidate (QString &aWarning, QString &aTitle)
-{
-    bool valid = true;
-
-    for (int i = 0; i < mTwAdapters->count(); ++ i)
-    {
-        UIMachineSettingsNetwork *page =
-            qobject_cast <UIMachineSettingsNetwork*> (mTwAdapters->widget (i));
-        Assert (page);
-        valid = page->revalidate (aWarning, aTitle);
-        if (!valid) break;
-    }
-
-    return valid;
+void UIMachineSettingsNetworkPage::setValidator(QIWidgetValidator *pValidator)
+{
+    m_pValidator = pValidator;
+}
+
+bool UIMachineSettingsNetworkPage::revalidate(QString &strWarning, QString &strTitle)
+{
+    bool fValid = true;
+
+    for (int i = 0; i < m_pTwAdapters->count(); ++i)
+    {
+        UIMachineSettingsNetwork *pPage = qobject_cast<UIMachineSettingsNetwork*>(m_pTwAdapters->widget(i));
+        Assert(pPage);
+        fValid = pPage->revalidate(strWarning, strTitle);
+        if (!fValid)
+            break;
+    }
+
+    return fValid;
 }
 
 void UIMachineSettingsNetworkPage::retranslateUi()
 {
-    for (int i = 0; i < mTwAdapters->count(); ++ i)
-    {
-        UIMachineSettingsNetwork *page =
-            qobject_cast <UIMachineSettingsNetwork*> (mTwAdapters->widget (i));
-        Assert (page);
-        mTwAdapters->setTabText (i, page->pageTitle());
+    for (int i = 0; i < m_pTwAdapters->count(); ++ i)
+    {
+        UIMachineSettingsNetwork *pPage = qobject_cast<UIMachineSettingsNetwork*>(m_pTwAdapters->widget(i));
+        Assert(pPage);
+        m_pTwAdapters->setTabText(i, pPage->pageTitle());
     }
 }
@@ -972,14 +978,13 @@
 void UIMachineSettingsNetworkPage::updatePages()
 {
-    for (int i = 0; i < mTwAdapters->count(); ++ i)
-    {
-        /* Get the iterated page */
-        UIMachineSettingsNetwork *page =
-            qobject_cast <UIMachineSettingsNetwork*> (mTwAdapters->widget (i));
-        Assert (page);
+    for (int i = 0; i < m_pTwAdapters->count(); ++ i)
+    {
+        /* Get the iterated page: */
+        UIMachineSettingsNetwork *pPage = qobject_cast<UIMachineSettingsNetwork*>(m_pTwAdapters->widget(i));
+        Assert(pPage);
 
         /* Update the page if the attachment type is 'internal network' */
-        if (page->attachmentType() == KNetworkAttachmentType_Internal)
-            QTimer::singleShot (0, page, SLOT (updateAttachmentAlternative()));
-    }
-}
+        if (pPage->attachmentType() == KNetworkAttachmentType_Internal)
+            QTimer::singleShot(0, pPage, SLOT(sltUpdateAttachmentAlternative()));
+    }
+}
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.h	(revision 36103)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.h	(revision 36104)
@@ -6,5 +6,5 @@
 
 /*
- * Copyright (C) 2008-2010 Oracle Corporation
+ * Copyright (C) 2008-2011 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -20,5 +20,5 @@
 #define __UIMachineSettingsNetwork_h__
 
-/* VBox Includes */
+/* Local includes */
 #include "COMDefs.h"
 #include "UISettingsPage.h"
@@ -26,5 +26,5 @@
 #include "UIMachineSettingsPortForwardingDlg.h"
 
-/* VBox Forwards */
+/* Forward declarations */
 class UIMachineSettingsNetworkPage;
 class QITabWidget;
@@ -39,4 +39,5 @@
     KNetworkAdapterType m_adapterType;
     KNetworkAttachmentType m_attachmentType;
+    KNetworkAdapterPromiscModePolicy m_promiscuousMode;
     QString m_strBridgedAdapterName;
     QString m_strInternalNetworkName;
@@ -56,6 +57,7 @@
 };
 
-class UIMachineSettingsNetwork : public QIWithRetranslateUI <QWidget>,
-                              public Ui::UIMachineSettingsNetwork
+/* Machine settings / Network page / Adapter tab: */
+class UIMachineSettingsNetwork : public QIWithRetranslateUI<QWidget>,
+                                 public Ui::UIMachineSettingsNetwork
 {
     Q_OBJECT;
@@ -63,21 +65,22 @@
 public:
 
-    UIMachineSettingsNetwork (UIMachineSettingsNetworkPage *aParent, bool aDisableStaticControls = false);
+    UIMachineSettingsNetwork(UIMachineSettingsNetworkPage *pParent, bool fDisableStaticControls = false);
 
     void fetchAdapterData(const UINetworkAdapterData &data);
     void uploadAdapterData(UINetworkAdapterData &data);
 
-    void setValidator (QIWidgetValidator *aValidator);
-    bool revalidate (QString &aWarning, QString &aTitle);
+    void setValidator(QIWidgetValidator *pValidator);
+    bool revalidate(QString &strWarning, QString &strTitle);
 
-    QWidget* setOrderAfter (QWidget *aAfter);
+    QWidget* setOrderAfter(QWidget *pAfter);
 
     QString pageTitle() const;
+
     KNetworkAttachmentType attachmentType() const;
-    QString alternativeName (int aType = -1) const;
+    QString alternativeName(int type = -1) const;
 
 protected:
 
-    void showEvent (QShowEvent *aEvent);
+    void showEvent(QShowEvent *pEvent);
 
     void retranslateUi();
@@ -85,8 +88,8 @@
 private slots:
 
-    void updateAttachmentAlternative();
-    void updateAlternativeName();
-    void toggleAdvanced();
-    void generateMac();
+    void sltUpdateAttachmentAlternative();
+    void sltUpdateAlternativeName();
+    void sltToggleAdvanced();
+    void sltGenerateMac();
     void sltOpenPortForwardingDlg();
 
@@ -95,19 +98,19 @@
     void populateComboboxes();
 
-    UIMachineSettingsNetworkPage *mParent;
-    QIWidgetValidator *mValidator;
+    UIMachineSettingsNetworkPage *m_pParent;
+    QIWidgetValidator *m_pValidator;
     int m_iSlot;
     CNetworkAdapter m_adapter;
 
-    QString mBrgName;
-    QString mIntName;
-    QString mHoiName;
+    QString m_strBrgName;
+    QString m_strIntName;
+    QString m_strHoiName;
 #ifdef VBOX_WITH_VDE
     QString mVDEName;
-#endif
+#endif /* VBOX_WITH_VDE */
 
-    bool mPolished;
-    bool mDisableStaticControls;
-    UIPortForwardingDataList mPortForwardingRules;
+    bool m_fPolished;
+    bool m_fDisableStaticControls;
+    UIPortForwardingDataList m_portForwardingRules;
 };
 
@@ -119,13 +122,13 @@
 public:
 
-    UIMachineSettingsNetworkPage (bool aDisableStaticControls = false);
+    UIMachineSettingsNetworkPage(bool fDisableStaticControls = false);
 
     void loadDirectlyFrom(const CMachine &machine);
     void saveDirectlyTo(CMachine &machine);
 
-    QStringList brgList (bool aRefresh = false);
-    QStringList intList (bool aRefresh = false);
-    QStringList fullIntList (bool aRefresh = false);
-    QStringList hoiList (bool aRefresh = false);
+    QStringList brgList(bool aRefresh = false);
+    QStringList intList(bool aRefresh = false);
+    QStringList fullIntList(bool aRefresh = false);
+    QStringList hoiList(bool aRefresh = false);
 
 protected:
@@ -145,6 +148,6 @@
     void saveFromCacheTo(QVariant &data);
 
-    void setValidator (QIWidgetValidator *aValidator);
-    bool revalidate (QString &aWarning, QString &aTitle);
+    void setValidator(QIWidgetValidator *pValidator);
+    bool revalidate(QString &strWarning, QString &strTitle);
 
     void retranslateUi();
@@ -156,12 +159,12 @@
 private:
 
-    QIWidgetValidator *mValidator;
-    QITabWidget *mTwAdapters;
+    QIWidgetValidator *m_pValidator;
+    QITabWidget *m_pTwAdapters;
 
-    QStringList mBrgList;
-    QStringList mIntList;
-    QStringList mHoiList;
+    QStringList m_brgList;
+    QStringList m_intList;
+    QStringList m_hoiList;
 
-    bool mDisableStaticControls;
+    bool m_fDisableStaticControls;
 
     /* Cache: */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui	(revision 36103)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsNetwork.ui	(revision 36104)
@@ -1,7 +1,7 @@
-<ui version="4.0" >
+<ui version="4.0">
  <comment>
  VBox frontends: Qt4 GUI ("VirtualBox"):
 
-     Copyright (C) 2008 Oracle Corporation
+     Copyright (C) 2008-2011 Oracle Corporation
 
      This file is part of VirtualBox Open Source Edition (OSE), as
@@ -14,6 +14,6 @@
  </comment>
  <class>UIMachineSettingsNetwork</class>
- <widget class="QWidget" name="UIMachineSettingsNetwork" >
-  <property name="geometry" >
+ <widget class="QWidget" name="UIMachineSettingsNetwork">
+  <property name="geometry">
    <rect>
     <x>0</x>
@@ -25,12 +25,12 @@
   <layout class="QGridLayout" name="VBoxVMSettingsNetworkGridLayout">
    <item row="0" column="0" colspan="2">
-    <widget class="QCheckBox" name="mCbEnableAdapter" >
-     <property name="whatsThis" >
+    <widget class="QCheckBox" name="mCbEnableAdapter">
+     <property name="whatsThis">
       <string>When checked, plugs this virtual network adapter into the virtual machine.</string>
      </property>
-     <property name="text" >
+     <property name="text">
       <string>&amp;Enable Network Adapter</string>
      </property>
-     <property name="checked" >
+     <property name="checked">
       <bool>true</bool>
      </property>
@@ -38,5 +38,5 @@
    </item>
    <item row="1" column="0">
-    <spacer name="horizontalSpacer1">
+    <spacer name="m_pHorizontalSpacer1">
      <property name="orientation">
       <enum>Qt::Horizontal</enum>
@@ -53,25 +53,25 @@
     </spacer>
    </item>
-   <item row="1" column="1" >
-    <widget class="QWidget" name="mNetworkChild" native="1">
-     <layout class="QGridLayout" name="mNetworkChildGridLayout">
+   <item row="1" column="1">
+    <widget class="QWidget" name="m_pNetworkChild" native="1">
+     <layout class="QGridLayout" name="m_pNetworkChildGridLayout">
       <property name="margin">
        <number>0</number>
       </property>
-      <item row="0" column="0" >
-       <widget class="QLabel" name="mLbAttachmentType">
-        <property name="text" >
+      <item row="0" column="0">
+       <widget class="QLabel" name="m_pAttachmentTypeLabel">
+        <property name="text">
          <string>&amp;Attached to:</string>
         </property>
-        <property name="alignment" >
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="buddy" >
-         <cstring>mCbAttachmentType</cstring>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>m_pAttachmentTypeCombo</cstring>
         </property>
        </widget>
       </item>
       <item row="0" column="1">
-       <widget class="QComboBox" name="mCbAttachmentType">
+       <widget class="QComboBox" name="m_pAttachmentTypeCombo">
         <property name="sizePolicy">
          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -80,24 +80,24 @@
          </sizepolicy>
         </property>
-        <property name="whatsThis" >
+        <property name="whatsThis">
          <string>Controls how this virtual adapter is attached to the real network of the Host OS.</string>
         </property>
        </widget>
       </item>
-      <item row="1" column="0" >
-       <widget class="QLabel" name="mLbAdapterName">
-        <property name="text" >
+      <item row="1" column="0">
+       <widget class="QLabel" name="m_pAdapterNameLabel">
+        <property name="text">
          <string>&amp;Name:</string>
         </property>
-        <property name="alignment" >
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="buddy" >
-         <cstring>mCbAdapterName</cstring>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>m_pAdapterNameCombo</cstring>
         </property>
        </widget>
       </item>
       <item row="1" column="1" colspan="3">
-       <widget class="QComboBox" name="mCbAdapterName">
+       <widget class="QComboBox" name="m_pAdapterNameCombo">
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -106,5 +106,5 @@
          </sizepolicy>
         </property>
-        <property name="whatsThis" >
+        <property name="whatsThis">
          <string>Selects the name of the network adapter for &lt;b&gt;Bridged Adapter&lt;/b&gt; or &lt;b&gt;Host-only Adapter&lt;/b&gt; attachments and the name of the network &lt;b&gt;Internal Network&lt;/b&gt; attachments.</string>
         </property>
@@ -112,10 +112,10 @@
       </item>
       <item row="2" column="0">
-       <layout class="QHBoxLayout" name="mLtAdvancedBtn">
+       <layout class="QHBoxLayout" name="m_pAdvancedButtonLayout">
         <property name="margin">
          <number>0</number>
         </property>
         <item>
-         <spacer name="horizontalSpacer2">
+         <spacer name="m_pHorizontalSpacer2">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
@@ -130,9 +130,9 @@
         </item>
         <item>
-         <widget class="QIArrowButtonSwitch" native="1" name="mAbsAdvanced">
+         <widget class="QIArrowButtonSwitch" native="1" name="m_pAdvancedArrow">
           <property name="text">
            <string>A&amp;dvanced</string>
           </property>
-          <property name="whatsThis" >
+          <property name="whatsThis">
            <string>Shows or hides additional network adapter options.</string>
           </property>
@@ -142,5 +142,5 @@
       </item>
       <item row="3" column="0">
-       <widget class="QLabel" name="mLbAdapterType">
+       <widget class="QLabel" name="m_pAdapterTypeLabel">
         <property name="text">
          <string>Adapter &amp;Type:</string>
@@ -150,10 +150,10 @@
         </property>
         <property name="buddy">
-         <cstring>mCbAdapterType</cstring>
+         <cstring>m_pAdapterTypeCombo</cstring>
         </property>
        </widget>
       </item>
       <item row="3" column="1" colspan="3">
-       <widget class="QComboBox" name="mCbAdapterType">
+       <widget class="QComboBox" name="m_pAdapterTypeCombo">
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -168,18 +168,18 @@
       </item>
       <item row="4" column="0">
-       <widget class="QLabel" name="mLbMAC">
-        <property name="text">
-         <string>&amp;Mac Address:</string>
-        </property>
-        <property name="alignment" >
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="buddy">
-         <cstring>mLeMAC</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="4" column="1" colspan="2">
-       <widget class="QILineEdit" name="mLeMAC">
+       <widget class="QLabel" name="m_pPromiscuousModeLabel">
+        <property name="text">
+         <string>&amp;Promiscuous Mode:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>m_pPromiscuousModeCombo</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="4" column="1" colspan="3">
+       <widget class="QComboBox" name="m_pPromiscuousModeCombo">
         <property name="sizePolicy">
          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
@@ -189,10 +189,36 @@
         </property>
         <property name="whatsThis">
+         <string>Selects the promiscuous mode policy of the network adapter when attached to an internal network, host only network or a bridge.</string>
+        </property>
+       </widget>
+      </item>
+      <item row="5" column="0">
+       <widget class="QLabel" name="m_pMACLabel">
+        <property name="text">
+         <string>&amp;Mac Address:</string>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
+        <property name="buddy">
+         <cstring>m_pMACEditor</cstring>
+        </property>
+       </widget>
+      </item>
+      <item row="5" column="1" colspan="2">
+       <widget class="QILineEdit" name="m_pMACEditor">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+          <horstretch>1</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="whatsThis">
          <string>Displays the MAC address of this adapter. It contains exactly 12 characters chosen from {0-9,A-F}. Note that the second character must be an even digit.</string>
         </property>
        </widget>
       </item>
-      <item row="4" column="3">
-       <widget class="QIToolButton" name="mTbMAC">
+      <item row="5" column="3">
+       <widget class="QIToolButton" name="m_pMACButton">
         <property name="whatsThis">
          <string>Generates a new random MAC address.</string>
@@ -207,6 +233,6 @@
        </widget>
       </item>
-      <item row="5" column="1" colspan="3">
-       <widget class="QCheckBox" name="mCbCableConnected">
+      <item row="6" column="1" colspan="3">
+       <widget class="QCheckBox" name="m_pCableConnectedCheckBox">
         <property name="whatsThis">
          <string>Indicates whether the virtual network cable is plugged in on machine startup or not.</string>
@@ -217,6 +243,6 @@
        </widget>
       </item>
-      <item row="6" column="1">
-       <widget class="QPushButton" name="mPbPortForwarding">
+      <item row="7" column="1">
+       <widget class="QPushButton" name="m_pPortForwardingButton">
         <property name="whatsThis">
          <string>Opens dialog to manage port forwarding rules.</string>
@@ -227,6 +253,6 @@
        </widget>
       </item>
-      <item row="7" column="0" colspan="4">
-       <spacer name="verticalSpacer">
+      <item row="8" column="0" colspan="4">
+       <spacer name="m_pVerticalSpacer">
         <property name="orientation">
          <enum>Qt::Vertical</enum>
@@ -270,5 +296,5 @@
    <sender>mCbEnableAdapter</sender>
    <signal>toggled(bool)</signal>
-   <receiver>mNetworkChild</receiver>
+   <receiver>m_pNetworkChild</receiver>
    <slot>setEnabled(bool)</slot>
    <hints>
