Index: /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk	(revision 68394)
@@ -418,5 +418,4 @@
 	src/settings/machine/UIMachineSettingsInterface.h \
 	src/settings/machine/UIMachineSettingsNetwork.h \
-	src/settings/machine/UIMachineSettingsParallel.h \
 	src/settings/machine/UIMachineSettingsPortForwardingDlg.h \
 	src/settings/machine/UIMachineSettingsSF.h \
@@ -560,5 +559,4 @@
 	src/settings/global/UIGlobalSettingsInput.cpp \
 	src/settings/machine/UIMachineSettingsNetwork.cpp \
-	src/settings/machine/UIMachineSettingsParallel.cpp \
 	src/settings/machine/UIMachineSettingsSerial.cpp \
 	src/settings/machine/UIMachineSettingsStorage.cpp \
@@ -736,5 +734,4 @@
 	src/settings/machine/UIMachineSettingsInterface.cpp \
 	src/settings/machine/UIMachineSettingsNetwork.cpp \
-	src/settings/machine/UIMachineSettingsParallel.cpp \
 	src/settings/machine/UIMachineSettingsPortForwardingDlg.cpp \
 	src/settings/machine/UIMachineSettingsSF.cpp \
Index: /trunk/src/VBox/Frontends/VirtualBox/VBoxUI.pro
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/VBoxUI.pro	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/VBoxUI.pro	(revision 68394)
@@ -40,5 +40,4 @@
     src/settings/machine/UIMachineSettingsNetwork.ui \
     src/settings/machine/UIMachineSettingsSerial.ui \
-    src/settings/machine/UIMachineSettingsParallel.ui \
     src/settings/machine/UIMachineSettingsUSB.ui \
     src/settings/machine/UIMachineSettingsUSBFilterDetails.ui \
Index: /trunk/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/VirtualBox2.qrc	(revision 68394)
@@ -29,8 +29,4 @@
         <file alias="os_xandros.png">images/os_xandros.png</file>
         <file alias="os_xandros_64.png">images/os_xandros_64.png</file>
-        <file alias="parallel_port_16px.png">images/parallel_port_16px.png</file>
-        <file alias="parallel_port_24px.png">images/parallel_port_24px.png</file>
-        <file alias="parallel_port_32px.png">images/parallel_port_32px.png</file>
-        <file alias="parallel_port_warning_16px.png">images/parallel_port_warning_16px.png</file>
         <file alias="pin_16px.png">images/pin_16px.png</file>
         <file alias="preview_empty_16to10_242x167px.png">images/preview_empty_16to10_242x167px.png</file>
Index: /trunk/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/VirtualBox2_hidpi.qrc	(revision 68394)
@@ -38,8 +38,4 @@
         <file alias="os_xandros_64_hidpi.png">images/hidpi/os_xandros_64_hidpi.png</file>
         <file alias="os_xandros_hidpi.png">images/hidpi/os_xandros_hidpi.png</file>
-        <file alias="parallel_port_16px_hidpi.png">images/hidpi/parallel_port_16px_hidpi.png</file>
-        <file alias="parallel_port_24px_hidpi.png">images/hidpi/parallel_port_24px_hidpi.png</file>
-        <file alias="parallel_port_32px_hidpi.png">images/hidpi/parallel_port_32px_hidpi.png</file>
-        <file alias="parallel_port_warning_16px_hidpi.png">images/hidpi/parallel_port_warning_16px_hidpi.png</file>
         <file alias="pin_16px_hidpi.png">images/hidpi/pin_16px_hidpi.png</file>
         <file alias="preview_empty_16to10_242x167px_hidpi.png">images/hidpi/preview_empty_16to10_242x167px_hidpi.png</file>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendGlobal.cpp	(revision 68394)
@@ -976,7 +976,4 @@
         case DetailsElementType_Network:     strResult = QApplication::translate("VBoxGlobal", "Network", "DetailsElementType"); break;
         case DetailsElementType_Serial:      strResult = QApplication::translate("VBoxGlobal", "Serial ports", "DetailsElementType"); break;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case DetailsElementType_Parallel:    strResult = QApplication::translate("VBoxGlobal", "Parallel ports", "DetailsElementType"); break;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case DetailsElementType_USB:         strResult = QApplication::translate("VBoxGlobal", "USB", "DetailsElementType"); break;
         case DetailsElementType_SF:          strResult = QApplication::translate("VBoxGlobal", "Shared folders", "DetailsElementType"); break;
@@ -1006,7 +1003,4 @@
     keys << QApplication::translate("VBoxGlobal", "Network", "DetailsElementType");        values << DetailsElementType_Network;
     keys << QApplication::translate("VBoxGlobal", "Serial ports", "DetailsElementType");   values << DetailsElementType_Serial;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-    keys << QApplication::translate("VBoxGlobal", "Parallel ports", "DetailsElementType"); values << DetailsElementType_Parallel;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
     keys << QApplication::translate("VBoxGlobal", "USB", "DetailsElementType");            values << DetailsElementType_USB;
     keys << QApplication::translate("VBoxGlobal", "Shared folders", "DetailsElementType"); values << DetailsElementType_SF;
@@ -1034,7 +1028,4 @@
         case DetailsElementType_Network:     strResult = "network"; break;
         case DetailsElementType_Serial:      strResult = "serialPorts"; break;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case DetailsElementType_Parallel:    strResult = "parallelPorts"; break;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case DetailsElementType_USB:         strResult = "usb"; break;
         case DetailsElementType_SF:          strResult = "sharedFolders"; break;
@@ -1064,7 +1055,4 @@
     keys << "network";       values << DetailsElementType_Network;
     keys << "serialPorts";   values << DetailsElementType_Serial;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-    keys << "parallelPorts"; values << DetailsElementType_Parallel;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
     keys << "usb";           values << DetailsElementType_USB;
     keys << "sharedFolders"; values << DetailsElementType_SF;
@@ -1091,7 +1079,4 @@
         case DetailsElementType_Network:     return UIIconPool::iconSet(":/nw_16px.png");
         case DetailsElementType_Serial:      return UIIconPool::iconSet(":/serial_port_16px.png");
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case DetailsElementType_Parallel:    return UIIconPool::iconSet(":/parallel_port_16px.png");
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case DetailsElementType_USB:         return UIIconPool::iconSet(":/usb_16px.png");
         case DetailsElementType_SF:          return UIIconPool::iconSet(":/sf_16px.png");
@@ -1317,5 +1302,4 @@
         case MachineSettingsPageType_Ports:     strResult = "Ports"; break;
         case MachineSettingsPageType_Serial:    strResult = "Serial"; break;
-        case MachineSettingsPageType_Parallel:  strResult = "Parallel"; break;
         case MachineSettingsPageType_USB:       strResult = "USB"; break;
         case MachineSettingsPageType_SF:        strResult = "SharedFolders"; break;
@@ -1344,5 +1328,4 @@
     keys << "Ports";         values << MachineSettingsPageType_Ports;
     keys << "Serial";        values << MachineSettingsPageType_Serial;
-    keys << "Parallel";      values << MachineSettingsPageType_Parallel;
     keys << "USB";           values << MachineSettingsPageType_USB;
     keys << "SharedFolders"; values << MachineSettingsPageType_SF;
@@ -1368,5 +1351,4 @@
         case MachineSettingsPageType_Ports:     return UIIconPool::pixmap(":/serial_port_warning_16px.png");
         case MachineSettingsPageType_Serial:    return UIIconPool::pixmap(":/serial_port_warning_16px.png");
-        case MachineSettingsPageType_Parallel:  return UIIconPool::pixmap(":/parallel_port_warning_16px.png");
         case MachineSettingsPageType_USB:       return UIIconPool::pixmap(":/usb_warning_16px.png");
         case MachineSettingsPageType_SF:        return UIIconPool::pixmap(":/sf_warning_16px.png");
@@ -1732,7 +1714,4 @@
         case InformationElementType_Network:           strResult = QApplication::translate("VBoxGlobal", "Network", "InformationElementType"); break;
         case InformationElementType_Serial:            strResult = QApplication::translate("VBoxGlobal", "Serial ports", "InformationElementType"); break;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case InformationElementType_Parallel:          strResult = QApplication::translate("VBoxGlobal", "Parallel ports", "InformationElementType"); break;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case InformationElementType_USB:               strResult = QApplication::translate("VBoxGlobal", "USB", "InformationElementType"); break;
         case InformationElementType_SharedFolders:     strResult = QApplication::translate("VBoxGlobal", "Shared folders", "InformationElementType"); break;
@@ -1765,7 +1744,4 @@
     keys << QApplication::translate("VBoxGlobal", "Network", "InformationElementType");            values << InformationElementType_Network;
     keys << QApplication::translate("VBoxGlobal", "Serial ports", "InformationElementType");       values << InformationElementType_Serial;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-    keys << QApplication::translate("VBoxGlobal", "Parallel ports", "InformationElementType");     values << InformationElementType_Parallel;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
     keys << QApplication::translate("VBoxGlobal", "USB", "InformationElementType");                values << InformationElementType_USB;
     keys << QApplication::translate("VBoxGlobal", "Shared folders", "InformationElementType");     values << InformationElementType_SharedFolders;
@@ -1796,7 +1772,4 @@
         case InformationElementType_Network:           strResult = "network"; break;
         case InformationElementType_Serial:            strResult = "serialPorts"; break;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case InformationElementType_Parallel:          strResult = "parallelPorts"; break;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case InformationElementType_USB:               strResult = "usb"; break;
         case InformationElementType_SharedFolders:     strResult = "sharedFolders"; break;
@@ -1827,7 +1800,4 @@
     keys << "network";            values << InformationElementType_Network;
     keys << "serialPorts";        values << InformationElementType_Serial;
-#ifdef VBOX_WITH_PARALLEL_PORTS
-    keys << "parallelPorts";      values << InformationElementType_Parallel;
-#endif /* VBOX_WITH_PARALLEL_PORTS */
     keys << "usb";                values << InformationElementType_USB;
     keys << "sharedFolders";      values << InformationElementType_SharedFolders;
@@ -1855,7 +1825,4 @@
         case InformationElementType_Network:           return UIIconPool::iconSet(":/nw_16px.png");
         case InformationElementType_Serial:            return UIIconPool::iconSet(":/serial_port_16px.png");
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case InformationElementType_Parallel:          return UIIconPool::iconSet(":/parallel_port_16px.png");
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case InformationElementType_USB:               return UIIconPool::iconSet(":/usb_16px.png");
         case InformationElementType_SharedFolders:     return UIIconPool::iconSet(":/sf_16px.png");
Index: /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h	(revision 68394)
@@ -573,5 +573,4 @@
     MachineSettingsPageType_Ports,
     MachineSettingsPageType_Serial,
-    MachineSettingsPageType_Parallel,
     MachineSettingsPageType_USB,
     MachineSettingsPageType_SF,
@@ -635,7 +634,4 @@
     DetailsElementType_Network,
     DetailsElementType_Serial,
-#ifdef VBOX_WITH_PARALLEL_PORTS
-    DetailsElementType_Parallel,
-#endif /* VBOX_WITH_PARALLEL_PORTS */
     DetailsElementType_USB,
     DetailsElementType_SF,
@@ -754,7 +750,4 @@
     InformationElementType_Network,
     InformationElementType_Serial,
-#ifdef VBOX_WITH_PARALLEL_PORTS
-    InformationElementType_Parallel,
-#endif /* VBOX_WITH_PARALLEL_PORTS */
     InformationElementType_USB,
     InformationElementType_SharedFolders,
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 68394)
@@ -61,5 +61,4 @@
 # include "CAudioAdapter.h"
 # include "CNATEngine.h"
-# include "CParallelPort.h"
 # include "CSerialPort.h"
 # include "CSharedFolder.h"
Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp	(revision 68394)
@@ -103,5 +103,4 @@
 # include "CNetworkAdapter.h"
 # include "CSerialPort.h"
-# include "CParallelPort.h"
 # include "CUSBController.h"
 # include "CHostUSBDevice.h"
Index: /trunk/src/VBox/Frontends/VirtualBox/src/precomp.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/precomp.h	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/precomp.h	(revision 68394)
@@ -385,5 +385,4 @@
 #include "CNetworkAdapter.h"
 //#include "CNetworkAdapterChangedEvent.h" - only used once
-#include "CParallelPort.h"
 #include "CProgress.h"
 //#include "CRuntimeErrorEvent.h" - only used once
@@ -517,5 +516,4 @@
 #include "UIMachineSettingsInterface.h"
 #include "UIMachineSettingsNetwork.h"
-#include "UIMachineSettingsParallel.h"
 #include "UIMachineSettingsPortForwardingDlg.h"
 #include "UIMachineSettingsSF.h"
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationConfiguration.cpp	(revision 68394)
@@ -127,14 +127,4 @@
         }
 
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        /* Create parallel-ports data-item: */
-        UIInformationDataItem *pParallelPorts = new UIInformationDataParallelPorts(m_machine, m_console, m_pModel);
-        AssertPtrReturnVoid(pParallelPorts);
-        {
-            /* Add parallel-ports data-item to model: */
-            m_pModel->addItem(pParallelPorts);
-        }
-#endif /* VBOX_WITH_PARALLEL_PORTS */
-
         /* Create usb data-item: */
         UIInformationDataItem *pUSB = new UIInformationDataUSB(m_machine, m_console, m_pModel);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationDataItem.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationDataItem.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationDataItem.cpp	(revision 68394)
@@ -38,5 +38,4 @@
 # include "CVRDEServer.h"
 # include "CAudioAdapter.h"
-# include "CParallelPort.h"
 # include "CSharedFolder.h"
 # include "CUSBController.h"
@@ -506,50 +505,4 @@
 
 
-#ifdef VBOX_WITH_PARALLEL_PORTS
-/*********************************************************************************************************************************
-*   Class UIInformationDataParallelPorts implementation.                                                                         *
-*********************************************************************************************************************************/
-
-UIInformationDataParallelPorts::UIInformationDataParallelPorts(const CMachine &machine, const CConsole &console, UIInformationModel *pModel)
-    : UIInformationDataItem(InformationElementType_Parallel, machine, console, pModel)
-{
-}
-
-QVariant UIInformationDataParallelPorts::data(const QModelIndex &index, int role) const
-{
-    /* For particular role: */
-    switch (role)
-    {
-        case Qt::DecorationRole:
-        {
-            return QString(":/parallel_port_16px.png");
-        }
-
-        case Qt::UserRole + 1:
-        {
-            ulong count = vboxGlobal().virtualBox().GetSystemProperties().GetParallelPortCount();
-            for (ulong slot = 0; slot < count; slot ++)
-            {
-                CParallelPort port = m_machine.GetParallelPort(slot);
-                if (port.GetEnabled())
-                {
-                    QString data = vboxGlobal().toLPTPortName(port.GetIRQ(), port.GetIOBase()) +
-                        QString(" (<nobr>%1</nobr>)")
-                               .arg(QDir::toNativeSeparators(port.GetPath()));
-                    p_text << UITextTableLine(tr("Port %1", "details report (parallel ports)").arg(port.GetSlot() + 1), data);
-                }
-            }
-            if (p_text.count() == 0)
-                p_text << UITextTableLine(tr("Disabled", "details report (parallel ports)"), QString());
-        }
-
-        default:
-            break;
-    }
-    return QVariant();
-}
-#endif /* VBOX_WITH_PARALLEL_PORTS */
-
-
 /*********************************************************************************************************************************
 *   Class UIInformationDataUSB implementation.                                                                                   *
Index: /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationDataItem.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationDataItem.h	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/runtime/information/UIInformationDataItem.h	(revision 68394)
@@ -203,24 +203,4 @@
 
 
-#ifdef VBOX_WITH_PARALLEL_PORTS
-/** UIInformationDataItem extension for the details-element type 'Parallel ports'. */
-class UIInformationDataParallelPorts : public UIInformationDataItem
-{
-    Q_OBJECT;
-
-public:
-
-    /** Constructs details-element object.
-      * @param  machine  Brings the machine reference.
-      * @param  console  Brings the machine console reference.
-      * @param  pModel   Brings the information model this item belings to. */
-    UIInformationDataParallelPorts(const CMachine &machine, const CConsole &console, UIInformationModel *pModel);
-
-    /** Returns data for item specified by @a index for the @a iRole. */
-    virtual QVariant data(const QModelIndex &index, int iRole = Qt::DisplayRole) const;
-};
-#endif /* VBOX_WITH_PARALLEL_PORTS */
-
-
 /** UIInformationDataItem extension for the details-element type 'USB'. */
 class UIInformationDataUSB : public UIInformationDataItem
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISnapshotDetailsWidget.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISnapshotDetailsWidget.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/UISnapshotDetailsWidget.cpp	(revision 68394)
@@ -53,7 +53,4 @@
 # include "CMediumAttachment.h"
 # include "CNetworkAdapter.h"
-# ifdef VBOX_WITH_PARALLEL_PORTS
-#  include "CParallelPort.h"
-# endif
 # include "CSerialPort.h"
 # include "CSharedFolder.h"
@@ -963,11 +960,4 @@
                     AssertPtrReturnVoid(m_details[DetailsElementType_Serial]);
                     pLayout2->addWidget(m_details[DetailsElementType_Serial]);
-
-#ifdef VBOX_WITH_PARALLEL_PORTS
-                    /* Create 'Parallel' element: */
-                    m_details[DetailsElementType_Parallel] = createDetailsElement(DetailsElementType_Parallel);
-                    AssertPtrReturnVoid(m_details[DetailsElementType_Parallel]);
-                    pLayout2->addWidget(m_details[DetailsElementType_Parallel]);
-#endif
 
                     /* Create 'USB' element: */
@@ -1669,48 +1659,4 @@
             break;
         }
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case DetailsElementType_Parallel:
-        {
-            /* Nothing: */
-            int iRowCount = 0;
-            QString strItem;
-
-            /* Enumerate all the serial ports (up to acquired/limited count): */
-            const ulong iCount = vboxGlobal().virtualBox().GetSystemProperties().GetParallelPortCount();
-            for (ulong iSlot = 0; iSlot < iCount; ++iSlot)
-            {
-                /* Get current parallel port: */
-                const CParallelPort &comParallel = comMachine.GetParallelPort(iSlot);
-                if (comParallel.GetEnabled())
-                {
-                    /* Compose the data: */
-                    QString strData = toLPTPortName(comParallel.GetIRQ(), comParallel.GetIOBase())
-                                    + QString(" (<nobr>%1</nobr>)").arg(QDir::toNativeSeparators(comParallel.GetPath()));
-                    /* Here goes the record: */
-                    ++iRowCount;
-                    strItem += QString(sSectionItemTpl2).arg(QApplication::translate("UIGDetails", "Port %1", "details (parallel)")
-                                                                .arg(comParallel.GetSlot() + 1),
-                                                             strData);
-                }
-            }
-
-            /* Handle side-case: */
-            if (strItem.isNull())
-            {
-                ++iRowCount;
-                strItem = QString(sSectionItemTpl1).arg(QApplication::translate("UIGDetails", "Disabled", "details (parallel)"));
-            }
-
-            /* Append report: */
-            strReport += strSectionTpl
-                .arg(1 + iRowCount) /* rows */
-                .arg("details://parallelPorts", /* icon */
-                     QString::number(iIconArea), /* icon area */
-                     gpConverter->toString(enmType), /* title */
-                     strItem); /* items */
-
-            break;
-        }
-#endif /* VBOX_WITH_PARALLEL_PORTS */
         case DetailsElementType_USB:
         {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.cpp	(revision 68394)
@@ -46,5 +46,4 @@
 # include "CNetworkAdapter.h"
 # include "CSerialPort.h"
-# include "CParallelPort.h"
 # include "CUSBController.h"
 # include "CUSBDeviceFilters.h"
@@ -742,43 +741,4 @@
 
 
-#ifdef VBOX_WITH_PARALLEL_PORTS
-void UIGDetailsUpdateTaskParallel::run()
-{
-    /* Acquire corresponding machine: */
-    CMachine machine = property("machine").value<CMachine>();
-    if (machine.isNull())
-        return;
-
-    /* Prepare table: */
-    UITextTable table;
-
-    /* Gather information: */
-    if (machine.GetAccessible())
-    {
-        bool fSomeInfo = false;
-        ulong uCount = vboxGlobal().virtualBox().GetSystemProperties().GetParallelPortCount();
-        for (ulong uSlot = 0; uSlot < uCount; ++uSlot)
-        {
-            const CParallelPort &port = machine.GetParallelPort(uSlot);
-            if (port.GetEnabled())
-            {
-                QString data = vboxGlobal().toLPTPortName(port.GetIRQ(), port.GetIOBase()) +
-                               QString(" (<nobr>%1</nobr>)").arg(QDir::toNativeSeparators(port.GetPath()));
-                table << UITextTableLine(QApplication::translate("UIGDetails", "Port %1", "details (parallel)").arg(port.GetSlot() + 1), data);
-                fSomeInfo = true;
-            }
-        }
-        if (!fSomeInfo)
-            table << UITextTableLine(QApplication::translate("UIGDetails", "Disabled", "details (parallel)"), QString());
-    }
-    else
-        table << UITextTableLine(QApplication::translate("UIGDetails", "Information Inaccessible", "details"), QString());
-
-    /* Save the table as property: */
-    setProperty("table", QVariant::fromValue(table));
-}
-#endif /* VBOX_WITH_PARALLEL_PORTS */
-
-
 void UIGDetailsUpdateTaskUSB::run()
 {
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.h	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.h	(revision 68394)
@@ -368,42 +368,4 @@
 
 
-#ifdef VBOX_WITH_PARALLEL_PORTS
-/** UITask extension used as update task for the details-element type 'Parallel'. */
-class UIGDetailsUpdateTaskParallel : public UIGDetailsUpdateTask
-{
-    Q_OBJECT;
-
-public:
-
-    /** Constructs update task passing @a machine to the base-class. */
-    UIGDetailsUpdateTaskParallel(const CMachine &machine)
-        : UIGDetailsUpdateTask(machine) {}
-
-private:
-
-    /** Contains update task body. */
-    void run();
-};
-
-/** UIGDetailsElementInterface extension for the details-element type 'Parallel'. */
-class UIGDetailsElementParallel : public UIGDetailsElementInterface
-{
-    Q_OBJECT;
-
-public:
-
-    /** Constructs details-element object for passed @a pParent set.
-      * @param fOpened brings whether the details-element should be visually opened. */
-    UIGDetailsElementParallel(UIGDetailsSet *pParent, bool fOpened)
-        : UIGDetailsElementInterface(pParent, DetailsElementType_Parallel, fOpened) {}
-
-private:
-
-    /** Creates update task for this element. */
-    UITask* createUpdateTask() { return new UIGDetailsUpdateTaskParallel(machine()); }
-};
-#endif /* VBOX_WITH_PARALLEL_PORTS */
-
-
 /** UITask extension used as update task for the details-element type 'USB'. */
 class UIGDetailsUpdateTaskUSB : public UIGDetailsUpdateTask
Index: /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsSet.cpp	(revision 68394)
@@ -385,7 +385,4 @@
             case DetailsElementType_Network:
             case DetailsElementType_Serial:
-#ifdef VBOX_WITH_PARALLEL_PORTS
-            case DetailsElementType_Parallel:
-#endif
             case DetailsElementType_USB:
             case DetailsElementType_SF:
@@ -446,7 +443,4 @@
             case DetailsElementType_Network:
             case DetailsElementType_Serial:
-#ifdef VBOX_WITH_PARALLEL_PORTS
-            case DetailsElementType_Parallel:
-#endif
             case DetailsElementType_USB:
             case DetailsElementType_SF:
@@ -502,7 +496,4 @@
             case DetailsElementType_Network:
             case DetailsElementType_Serial:
-#ifdef VBOX_WITH_PARALLEL_PORTS
-            case DetailsElementType_Parallel:
-#endif
             case DetailsElementType_USB:
             case DetailsElementType_SF:
@@ -592,7 +583,4 @@
         case DetailsElementType_Network:     return new UIGDetailsElementNetwork(this, fOpen);
         case DetailsElementType_Serial:      return new UIGDetailsElementSerial(this, fOpen);
-#ifdef VBOX_WITH_PARALLEL_PORTS
-        case DetailsElementType_Parallel:    return new UIGDetailsElementParallel(this, fOpen);
-#endif
         case DetailsElementType_USB:         return new UIGDetailsElementUSB(this, fOpen);
         case DetailsElementType_SF:          return new UIGDetailsElementSF(this, fOpen);
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp	(revision 68394)
@@ -51,5 +51,4 @@
 # include "UIMachineSettingsNetwork.h"
 # include "UIMachineSettingsSerial.h"
-# include "UIMachineSettingsParallel.h"
 # include "UIMachineSettingsUSB.h"
 # include "UIMachineSettingsSF.h"
@@ -419,12 +418,4 @@
                     break;
                 }
-                /* Parallel page: */
-                case MachineSettingsPageType_Parallel:
-                {
-                    pSettingsPage = new UIMachineSettingsParallelPage;
-                    addItem(":/parallel_port_32px.png", ":/parallel_port_24px.png", ":/parallel_port_16px.png",
-                            iPageIndex, "#parallelPorts", pSettingsPage, MachineSettingsPageType_Ports);
-                    break;
-                }
                 /* USB page: */
                 case MachineSettingsPageType_USB:
@@ -598,5 +589,5 @@
     m_pSelector->widget()->setWhatsThis(tr("Allows to navigate through VM Settings categories"));
 
-    /* We have to make sure that the Network, Serial & Parallel pages are retranslated
+    /* We have to make sure that the Network, Serial pages are retranslated
      * before they are revalidated. Cause: They do string comparing within
      * vboxGlobal which is retranslated at that point already: */
@@ -606,6 +597,4 @@
     if (QWidget *pPage = m_pSelector->idToPage(MachineSettingsPageType_Serial))
         qApp->sendEvent(pPage, &event);
-    if (QWidget *pPage = m_pSelector->idToPage(MachineSettingsPageType_Parallel))
-        qApp->sendEvent(pPage, &event);
 
     /* General page: */
@@ -632,7 +621,4 @@
     /* Serial page: */
     m_pSelector->setItemText(MachineSettingsPageType_Serial, tr("Serial Ports"));
-
-    /* Parallel page: */
-    m_pSelector->setItemText(MachineSettingsPageType_Parallel, tr("Parallel Ports"));
 
     /* USB page: */
@@ -844,12 +830,4 @@
                 return false;
             break;
-        }
-        case MachineSettingsPageType_Parallel:
-        {
-            /* Depends on ports availability: */
-            if (!isPageAvailable(MachineSettingsPageType_Ports))
-                return false;
-            /* But for now this page is always disabled: */
-            return false;
         }
         case MachineSettingsPageType_USB:
Index: unk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.cpp	(revision 68393)
+++ 	(revision )
@@ -1,613 +1,0 @@
-/* $Id$ */
-/** @file
- * VBox Qt GUI - UIMachineSettingsParallel class implementation.
- */
-
-/*
- * Copyright (C) 2006-2017 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifdef VBOX_WITH_PRECOMPILED_HEADERS
-# include <precomp.h>
-#else  /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-/* Qt includes: */
-# include <QDir>
-
-/* GUI includes: */
-# include "QITabWidget.h"
-# include "QIWidgetValidator.h"
-# include "UIMachineSettingsParallel.h"
-# include "UIMessageCenter.h"
-# include "VBoxGlobal.h"
-
-/* COM includes: */
-# include "CParallelPort.h"
-
-#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-
-/** Machine settings: Parallel Port tab data structure. */
-struct UIDataSettingsMachineParallelPort
-{
-    /** Constructs data. */
-    UIDataSettingsMachineParallelPort()
-        : m_iSlot(-1)
-        , m_fPortEnabled(false)
-        , m_uIRQ(0)
-        , m_uIOBase(0)
-        , m_strPath(QString())
-    {}
-
-    /** Returns whether the @a other passed data is equal to this one. */
-    bool equal(const UIDataSettingsMachineParallelPort &other) const
-    {
-        return true
-               && (m_iSlot == other.m_iSlot)
-               && (m_fPortEnabled == other.m_fPortEnabled)
-               && (m_uIRQ == other.m_uIRQ)
-               && (m_uIOBase == other.m_uIOBase)
-               && (m_strPath == other.m_strPath)
-               ;
-    }
-
-    /** Returns whether the @a other passed data is equal to this one. */
-    bool operator==(const UIDataSettingsMachineParallelPort &other) const { return equal(other); }
-    /** Returns whether the @a other passed data is different from this one. */
-    bool operator!=(const UIDataSettingsMachineParallelPort &other) const { return !equal(other); }
-
-    /** Holds the parallel port slot number. */
-    int      m_iSlot;
-    /** Holds whether the parallel port is enabled. */
-    bool     m_fPortEnabled;
-    /** Holds the parallel port IRQ. */
-    ulong    m_uIRQ;
-    /** Holds the parallel port IO base. */
-    ulong    m_uIOBase;
-    /** Holds the parallel port path. */
-    QString  m_strPath;
-};
-
-
-/** Machine settings: Parallel page data structure. */
-struct UIDataSettingsMachineParallel
-{
-    /** Constructs data. */
-    UIDataSettingsMachineParallel() {}
-
-    /** Returns whether the @a other passed data is equal to this one. */
-    bool operator==(const UIDataSettingsMachineParallel & /* other */) const { return true; }
-    /** Returns whether the @a other passed data is different from this one. */
-    bool operator!=(const UIDataSettingsMachineParallel & /* other */) const { return false; }
-};
-
-
-/** Machine settings: Parallel Port tab. */
-class UIMachineSettingsParallel : public QIWithRetranslateUI<QWidget>,
-                                  public Ui::UIMachineSettingsParallel
-{
-    Q_OBJECT;
-
-public:
-
-    UIMachineSettingsParallel(UIMachineSettingsParallelPage *pParent);
-
-    void polishTab();
-
-    void loadPortData(const UIDataSettingsMachineParallelPort &portData);
-    void savePortData(UIDataSettingsMachineParallelPort &portData);
-
-    QWidget *setOrderAfter(QWidget *pAfter);
-
-    QString pageTitle() const;
-    bool isUserDefined();
-
-protected:
-
-    void retranslateUi();
-
-private slots:
-
-    void sltGbParallelToggled(bool fOn);
-    void sltCbNumberActivated(const QString &strText);
-
-private:
-
-    /* Helper: Prepare stuff: */
-    void prepareValidation();
-
-    UIMachineSettingsParallelPage *m_pParent;
-    int m_iSlot;
-};
-
-
-/*********************************************************************************************************************************
-*   Class UIMachineSettingsParallel implementation.                                                                              *
-*********************************************************************************************************************************/
-
-UIMachineSettingsParallel::UIMachineSettingsParallel(UIMachineSettingsParallelPage *pParent)
-    : QIWithRetranslateUI<QWidget>(0)
-    , m_pParent(pParent)
-    , m_iSlot(-1)
-{
-    /* Apply UI decorations: */
-    Ui::UIMachineSettingsParallel::setupUi(this);
-
-    /* Setup validation: */
-    mLeIRQ->setValidator(new QIULongValidator(0, 255, this));
-    mLeIOPort->setValidator(new QIULongValidator(0, 0xFFFF, this));
-    mLePath->setValidator(new QRegExpValidator(QRegExp(".+"), this));
-
-    /* Setup constraints: */
-    mLeIRQ->setFixedWidth(mLeIRQ->fontMetrics().width("8888"));
-    mLeIOPort->setFixedWidth(mLeIOPort->fontMetrics().width("8888888"));
-
-    /* Set initial values: */
-    /* Note: If you change one of the following don't forget retranslateUi. */
-    mCbNumber->insertItem(0, vboxGlobal().toCOMPortName(0, 0));
-    mCbNumber->insertItems(0, vboxGlobal().COMPortNames());
-
-    /* Setup connections: */
-    connect(mGbParallel, SIGNAL(toggled(bool)),
-            this, SLOT(sltGbParallelToggled(bool)));
-    connect(mCbNumber, SIGNAL(activated(const QString &)),
-            this, SLOT(sltCbNumberActivated(const QString &)));
-
-    /* Prepare validation: */
-    prepareValidation();
-
-    /* Apply language settings: */
-    retranslateUi();
-}
-
-void UIMachineSettingsParallel::polishTab()
-{
-    /* Polish port page: */
-    ulong uIRQ, uIOBase;
-    const bool fStd = vboxGlobal().toCOMPortNumbers(mCbNumber->currentText(), uIRQ, uIOBase);
-    mGbParallel->setEnabled(m_pParent->isMachineOffline());
-    mLbNumber->setEnabled(m_pParent->isMachineOffline());
-    mCbNumber->setEnabled(m_pParent->isMachineOffline());
-    mLbIRQ->setEnabled(m_pParent->isMachineOffline());
-    mLeIRQ->setEnabled(!fStd && m_pParent->isMachineOffline());
-    mLbIOPort->setEnabled(m_pParent->isMachineOffline());
-    mLeIOPort->setEnabled(!fStd && m_pParent->isMachineOffline());
-    mLbPath->setEnabled(m_pParent->isMachineOffline());
-    mLePath->setEnabled(m_pParent->isMachineOffline());
-}
-
-void UIMachineSettingsParallel::loadPortData(const UIDataSettingsMachineParallelPort &portData)
-{
-    /* Load port number: */
-    m_iSlot = portData.m_iSlot;
-
-    /* Load port data: */
-    mGbParallel->setChecked(portData.m_fPortEnabled);
-    mCbNumber->setCurrentIndex(mCbNumber->findText(vboxGlobal().toCOMPortName(portData.m_uIRQ, portData.m_uIOBase)));
-    mLeIRQ->setText(QString::number(portData.m_uIRQ));
-    mLeIOPort->setText("0x" + QString::number(portData.m_uIOBase, 16).toUpper());
-    mLePath->setText(portData.m_strPath);
-
-    /* Ensure everything is up-to-date: */
-    sltGbParallelToggled(mGbParallel->isChecked());
-}
-
-void UIMachineSettingsParallel::savePortData(UIDataSettingsMachineParallelPort &portData)
-{
-    /* Save port data: */
-    portData.m_fPortEnabled = mGbParallel->isChecked();
-    portData.m_uIRQ = mLeIRQ->text().toULong(NULL, 0);
-    portData.m_uIOBase = mLeIOPort->text().toULong(NULL, 0);
-    portData.m_strPath = QDir::toNativeSeparators(mLePath->text());
-}
-
-QWidget *UIMachineSettingsParallel::setOrderAfter(QWidget *pAfter)
-{
-    setTabOrder(pAfter, mGbParallel);
-    setTabOrder(mGbParallel, mCbNumber);
-    setTabOrder(mCbNumber, mLeIRQ);
-    setTabOrder(mLeIRQ, mLeIOPort);
-    setTabOrder(mLeIOPort, mLePath);
-    return mLePath;
-}
-
-QString UIMachineSettingsParallel::pageTitle() const
-{
-    return QString(tr("Port %1", "parallel ports")).arg(QString("&%1").arg(m_iSlot + 1));
-}
-
-bool UIMachineSettingsParallel::isUserDefined()
-{
-    ulong a, b;
-    return !vboxGlobal().toCOMPortNumbers(mCbNumber->currentText(), a, b);
-}
-
-void UIMachineSettingsParallel::retranslateUi()
-{
-    /* Translate uic generated strings: */
-    Ui::UIMachineSettingsParallel::retranslateUi(this);
-
-    mCbNumber->setItemText(mCbNumber->count() - 1, vboxGlobal().toCOMPortName(0, 0));
-}
-
-void UIMachineSettingsParallel::sltGbParallelToggled(bool fOn)
-{
-    if (fOn)
-        sltCbNumberActivated(mCbNumber->currentText());
-
-    /* Revalidate: */
-    m_pParent->revalidate();
-}
-
-void UIMachineSettingsParallel::sltCbNumberActivated(const QString &strText)
-{
-    ulong uIRQ, uIOBase;
-    bool fStd = vboxGlobal().toCOMPortNumbers(strText, uIRQ, uIOBase);
-
-    mLeIRQ->setEnabled(!fStd);
-    mLeIOPort->setEnabled(!fStd);
-    if (fStd)
-    {
-        mLeIRQ->setText(QString::number(uIRQ));
-        mLeIOPort->setText("0x" + QString::number(uIOBase, 16).toUpper());
-    }
-
-    /* Revalidate: */
-    m_pParent->revalidate();
-}
-
-void UIMachineSettingsParallel::prepareValidation()
-{
-    /* Prepare validation: */
-    connect(mLeIRQ, SIGNAL(textChanged(const QString&)), m_pParent, SLOT(revalidate()));
-    connect(mLeIOPort, SIGNAL(textChanged(const QString&)), m_pParent, SLOT(revalidate()));
-    connect(mLePath, SIGNAL(textChanged(const QString&)), m_pParent, SLOT(revalidate()));
-}
-
-
-/*********************************************************************************************************************************
-*   Class UIMachineSettingsParallelPage implementation.                                                                          *
-*********************************************************************************************************************************/
-
-UIMachineSettingsParallelPage::UIMachineSettingsParallelPage()
-    : m_pTabWidget(0)
-    , m_pCache(0)
-{
-    /* Prepare: */
-    prepare();
-}
-
-UIMachineSettingsParallelPage::~UIMachineSettingsParallelPage()
-{
-    /* Cleanup: */
-    cleanup();
-}
-
-bool UIMachineSettingsParallelPage::changed() const
-{
-    return m_pCache->wasChanged();
-}
-
-void UIMachineSettingsParallelPage::loadToCacheFrom(QVariant &data)
-{
-    /* Fetch data to machine: */
-    UISettingsPageMachine::fetchData(data);
-
-    /* Clear cache initially: */
-    m_pCache->clear();
-
-    /* Prepare old parallel data: */
-    UIDataSettingsMachineParallel oldParallelData;
-
-    /* For each port: */
-    for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot)
-    {
-        /* Prepare old port data: */
-        UIDataSettingsMachineParallelPort oldPortData;
-
-        /* Check whether port is valid: */
-        const CParallelPort &comPort = m_machine.GetParallelPort(iSlot);
-        if (!comPort.isNull())
-        {
-            /* Gather old port data: */
-            oldPortData.m_iSlot = iSlot;
-            oldPortData.m_fPortEnabled = comPort.GetEnabled();
-            oldPortData.m_uIRQ = comPort.GetIRQ();
-            oldPortData.m_uIOBase = comPort.GetIOBase();
-            oldPortData.m_strPath = comPort.GetPath();
-        }
-
-        /* Cache old port data: */
-        m_pCache->child(iSlot).cacheInitialData(oldPortData);
-    }
-
-    /* Cache old parallel data: */
-    m_pCache->cacheInitialData(oldParallelData);
-
-    /* Upload machine to data: */
-    UISettingsPageMachine::uploadData(data);
-}
-
-void UIMachineSettingsParallelPage::getFromCache()
-{
-    /* Setup tab order: */
-    AssertPtrReturnVoid(firstWidget());
-    setTabOrder(firstWidget(), m_pTabWidget->focusProxy());
-    QWidget *pLastFocusWidget = m_pTabWidget->focusProxy();
-
-    /* For each port: */
-    for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot)
-    {
-        /* Get port page: */
-        UIMachineSettingsParallel *pPage = qobject_cast<UIMachineSettingsParallel*>(m_pTabWidget->widget(iSlot));
-
-        /* Load old port data from the cache: */
-        pPage->loadPortData(m_pCache->child(iSlot).base());
-
-        /* Setup tab order: */
-        pLastFocusWidget = pPage->setOrderAfter(pLastFocusWidget);
-    }
-
-    /* Apply language settings: */
-    retranslateUi();
-
-    /* Polish page finally: */
-    polishPage();
-
-    /* Revalidate: */
-    revalidate();
-}
-
-void UIMachineSettingsParallelPage::putToCache()
-{
-    /* Prepare new parallel data: */
-    UIDataSettingsMachineParallel newParallelData;
-
-    /* For each port: */
-    for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot)
-    {
-        /* Getting port page: */
-        UIMachineSettingsParallel *pTab = qobject_cast<UIMachineSettingsParallel*>(m_pTabWidget->widget(iSlot));
-
-        /* Prepare new port data: */
-        UIDataSettingsMachineParallelPort newPortData;
-
-        /* Gather new port data: */
-        pTab->savePortData(newPortData);
-
-        /* Cache new port data: */
-        m_pCache->child(iSlot).cacheCurrentData(newPortData);
-    }
-
-    /* Cache new parallel data: */
-    m_pCache->cacheCurrentData(newParallelData);
-}
-
-void UIMachineSettingsParallelPage::saveFromCacheTo(QVariant &data)
-{
-    /* Fetch data to machine: */
-    UISettingsPageMachine::fetchData(data);
-
-    /* Update parallel data and failing state: */
-    setFailed(!saveParallelData());
-
-    /* Upload machine to data: */
-    UISettingsPageMachine::uploadData(data);
-}
-
-bool UIMachineSettingsParallelPage::validate(QList<UIValidationMessage> &messages)
-{
-    /* Pass by default: */
-    bool fPass = true;
-
-    /* Validation stuff: */
-    QList<QPair<QString, QString> > ports;
-    QStringList paths;
-
-    /* Validate all the ports: */
-    for (int iIndex = 0; iIndex < m_pTabWidget->count(); ++iIndex)
-    {
-        /* Get current tab/page: */
-        QWidget *pTab = m_pTabWidget->widget(iIndex);
-        UIMachineSettingsParallel *pPage = static_cast<UIMachineSettingsParallel*>(pTab);
-        if (!pPage->mGbParallel->isChecked())
-            continue;
-
-        /* Prepare message: */
-        UIValidationMessage message;
-        message.first = vboxGlobal().removeAccelMark(m_pTabWidget->tabText(m_pTabWidget->indexOf(pTab)));
-
-        /* Check the port attribute emptiness & uniqueness: */
-        const QString strIRQ(pPage->mLeIRQ->text());
-        const QString strIOPort(pPage->mLeIOPort->text());
-        const QString strPath(pPage->mLePath->text());
-        const QPair<QString, QString> pair(strIRQ, strIOPort);
-
-        if (strIRQ.isEmpty())
-        {
-            message.second << UIMachineSettingsParallel::tr("No IRQ is currently specified.");
-            fPass = false;
-        }
-        if (strIOPort.isEmpty())
-        {
-            message.second << UIMachineSettingsParallel::tr("No I/O port is currently specified.");
-            fPass = false;
-        }
-        if (ports.contains(pair))
-        {
-            message.second << UIMachineSettingsParallel::tr("Two or more ports have the same settings.");
-            fPass = false;
-        }
-        if (strPath.isEmpty())
-        {
-            message.second << UIMachineSettingsParallel::tr("No port path is currently specified.");
-            fPass = false;
-        }
-        if (paths.contains(strPath))
-        {
-            message.second << UIMachineSettingsParallel::tr("There are currently duplicate port paths specified.");
-            fPass = false;
-        }
-
-        ports << pair;
-        paths << strPath;
-
-        /* Serialize message: */
-        if (!message.second.isEmpty())
-            messages << message;
-    }
-
-    /* Return result: */
-    return fPass;
-}
-
-void UIMachineSettingsParallelPage::retranslateUi()
-{
-    for (int i = 0; i < m_pTabWidget->count(); ++i)
-    {
-        UIMachineSettingsParallel *pPage =
-            static_cast<UIMachineSettingsParallel*>(m_pTabWidget->widget(i));
-        m_pTabWidget->setTabText(i, pPage->pageTitle());
-    }
-}
-
-void UIMachineSettingsParallelPage::polishPage()
-{
-    /* Get the count of parallel port tabs: */
-    for (int iSlot = 0; iSlot < m_pTabWidget->count(); ++iSlot)
-    {
-        m_pTabWidget->setTabEnabled(iSlot,
-                                    isMachineOffline() ||
-                                    (isMachineInValidMode() &&
-                                     m_pCache->childCount() > iSlot &&
-                                     m_pCache->child(iSlot).base().m_fPortEnabled));
-        UIMachineSettingsParallel *pTab = qobject_cast<UIMachineSettingsParallel*>(m_pTabWidget->widget(iSlot));
-        pTab->polishTab();
-    }
-}
-
-void UIMachineSettingsParallelPage::prepare()
-{
-    /* Prepare cache: */
-    m_pCache = new UISettingsCacheMachineParallel;
-    AssertPtrReturnVoid(m_pCache);
-
-    /* Create main layout: */
-    QVBoxLayout *pMainLayout = new QVBoxLayout(this);
-    AssertPtrReturnVoid(pMainLayout);
-    {
-        /* Configure layout: */
-        pMainLayout->setContentsMargins(0, 5, 0, 5);
-
-        /* Creating tab-widget: */
-        m_pTabWidget = new QITabWidget;
-        AssertPtrReturnVoid(m_pTabWidget);
-        {
-            /* How many ports to display: */
-            const ulong uCount = vboxGlobal().virtualBox().GetSystemProperties().GetParallelPortCount();
-
-            /* Create corresponding port tabs: */
-            for (ulong uPort = 0; uPort < uCount; ++uPort)
-            {
-                /* Create port tab: */
-                UIMachineSettingsParallel *pTab = new UIMachineSettingsParallel(this);
-                AssertPtrReturnVoid(pTab);
-                {
-                    /* Add tab into tab-widget: */
-                    m_pTabWidget->addTab(pTab, pTab->pageTitle());
-                }
-            }
-
-            /* Add tab-widget into layout: */
-            pMainLayout->addWidget(m_pTabWidget);
-        }
-    }
-}
-
-void UIMachineSettingsParallelPage::cleanup()
-{
-    /* Cleanup cache: */
-    delete m_pCache;
-    m_pCache = 0;
-}
-
-bool UIMachineSettingsParallelPage::saveParallelData()
-{
-    /* Prepare result: */
-    bool fSuccess = true;
-    /* Save parallel settings from the cache: */
-    if (fSuccess && isMachineInValidMode() && m_pCache->wasChanged())
-    {
-        /* For each port: */
-        for (int iSlot = 0; fSuccess && iSlot < m_pTabWidget->count(); ++iSlot)
-            fSuccess = savePortData(iSlot);
-    }
-    /* Return result: */
-    return fSuccess;
-}
-
-bool UIMachineSettingsParallelPage::savePortData(int iSlot)
-{
-    /* Prepare result: */
-    bool fSuccess = true;
-    /* Save adapter settings from the cache: */
-    if (fSuccess && m_pCache->child(iSlot).wasChanged())
-    {
-        /* Get old parallel data from the cache: */
-        const UIDataSettingsMachineParallelPort &oldPortData = m_pCache->child(iSlot).base();
-        /* Get new parallel data from the cache: */
-        const UIDataSettingsMachineParallelPort &newPortData = m_pCache->child(iSlot).data();
-
-        /* Get parallel port for further activities: */
-        CParallelPort comPort = m_machine.GetParallelPort(iSlot);
-        fSuccess = m_machine.isOk() && comPort.isNotNull();
-
-        /* Show error message if necessary: */
-        if (!fSuccess)
-            notifyOperationProgressError(UIMessageCenter::formatErrorInfo(m_machine));
-        else
-        {
-            /* Save whether the port is enabled: */
-            if (fSuccess && isMachineOffline() && newPortData.m_fPortEnabled != oldPortData.m_fPortEnabled)
-            {
-                comPort.SetEnabled(newPortData.m_fPortEnabled);
-                fSuccess = comPort.isOk();
-            }
-            /* Save port IRQ: */
-            if (fSuccess && isMachineOffline() && newPortData.m_uIRQ != oldPortData.m_uIRQ)
-            {
-                comPort.SetIRQ(newPortData.m_uIRQ);
-                fSuccess = comPort.isOk();
-            }
-            /* Save port IO base: */
-            if (fSuccess && isMachineOffline() && newPortData.m_uIOBase != oldPortData.m_uIOBase)
-            {
-                comPort.SetIOBase(newPortData.m_uIOBase);
-                fSuccess = comPort.isOk();
-            }
-            /* Save port path: */
-            if (fSuccess && isMachineOffline() && newPortData.m_strPath != oldPortData.m_strPath)
-            {
-                comPort.SetPath(newPortData.m_strPath);
-                fSuccess = comPort.isOk();
-            }
-
-            /* Show error message if necessary: */
-            if (!fSuccess)
-                notifyOperationProgressError(UIMessageCenter::formatErrorInfo(comPort));
-        }
-    }
-    /* Return result: */
-    return fSuccess;
-}
-
-# include "UIMachineSettingsParallel.moc"
-
Index: unk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.h
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.h	(revision 68393)
+++ 	(revision )
@@ -1,94 +1,0 @@
-/* $Id$ */
-/** @file
- * VBox Qt GUI - UIMachineSettingsParallel class declaration.
- */
-
-/*
- * Copyright (C) 2006-2017 Oracle Corporation
- *
- * This file is part of VirtualBox Open Source Edition (OSE), as
- * available from http://www.virtualbox.org. This file is free software;
- * you can redistribute it and/or modify it under the terms of the GNU
- * General Public License (GPL) as published by the Free Software
- * Foundation, in version 2 as it comes in the "COPYING" file of the
- * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- */
-
-#ifndef ___UIMachineSettingsParallel_h___
-#define ___UIMachineSettingsParallel_h___
-
-/* GUI includes: */
-#include "UISettingsPage.h"
-#include "UIMachineSettingsParallel.gen.h"
-
-/* Forward declarations: */
-class QITabWidget;
-class UIMachineSettingsParallelPage;
-struct UIDataSettingsMachineParallel;
-struct UIDataSettingsMachineParallelPort;
-typedef UISettingsCache<UIDataSettingsMachineParallelPort> UISettingsCacheMachineParallelPort;
-typedef UISettingsCachePool<UIDataSettingsMachineParallel, UISettingsCacheMachineParallelPort> UISettingsCacheMachineParallel;
-
-
-/** Machine settings: Parallel page. */
-class UIMachineSettingsParallelPage : public UISettingsPageMachine
-{
-    Q_OBJECT;
-
-public:
-
-    /** Constructs Parallel settings page. */
-    UIMachineSettingsParallelPage();
-    /** Destructs Parallel settings page. */
-    ~UIMachineSettingsParallelPage();
-
-protected:
-
-    /** Returns whether the page content was changed. */
-    virtual bool changed() const /* override */;
-
-    /** Loads data into the cache from corresponding external object(s),
-      * this task COULD be performed in other than the GUI thread. */
-    virtual void loadToCacheFrom(QVariant &data) /* override */;
-    /** Loads data into corresponding widgets from the cache,
-      * this task SHOULD be performed in the GUI thread only. */
-    virtual void getFromCache() /* override */;
-
-    /** Saves data from corresponding widgets to the cache,
-      * this task SHOULD be performed in the GUI thread only. */
-    virtual void putToCache() /* override */;
-    /** Saves data from the cache to corresponding external object(s),
-      * this task COULD be performed in other than the GUI thread. */
-    virtual void saveFromCacheTo(QVariant &data) /* overrride */;
-
-    /** Performs validation, updates @a messages list if something is wrong. */
-    virtual bool validate(QList<UIValidationMessage> &messages) /* override */;
-
-    /** Handles translation event. */
-    virtual void retranslateUi() /* override */;
-
-    /** Performs final page polishing. */
-    virtual void polishPage() /* override */;
-
-private:
-
-    /** Prepares all. */
-    void prepare();
-    /** Cleanups all. */
-    void cleanup();
-
-    /** Saves existing parallel data from the cache. */
-    bool saveParallelData();
-    /** Saves existing port data from the cache. */
-    bool savePortData(int iSlot);
-
-    /** Holds the tab-widget instance. */
-    QITabWidget *m_pTabWidget;
-
-    /** Holds the page data cache instance. */
-    UISettingsCacheMachineParallel *m_pCache;
-};
-
-#endif /* !___UIMachineSettingsParallel_h___ */
-
Index: unk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.ui
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsParallel.ui	(revision 68393)
+++ 	(revision )
@@ -1,206 +1,0 @@
-<ui version="4.0" >
- <comment>
- VBox frontends: Qt GUI ("VirtualBox"):
-
- Copyright (C) 2008-2016 Oracle Corporation
-
- This file is part of VirtualBox Open Source Edition (OSE), as
- available from http://www.virtualbox.org. This file is free software;
- you can redistribute it and/or modify it under the terms of the GNU
- General Public License (GPL) as published by the Free Software
- Foundation, in version 2 as it comes in the "COPYING" file of the
- VirtualBox OSE distribution. VirtualBox OSE is distributed in the
- hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
- </comment>
- <class>UIMachineSettingsParallel</class>
- <widget class="QWidget" name="UIMachineSettingsParallel" >
-  <property name="geometry" >
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>348</width>
-    <height>122</height>
-   </rect>
-  </property>
-  <layout class="QGridLayout" >
-   <item row="0" column="0" colspan="2" >
-    <widget class="QCheckBox" name="mGbParallel" >
-     <property name="whatsThis" >
-      <string>When checked, enables the given parallel port of the virtual machine.</string>
-     </property>
-     <property name="text" >
-      <string>&amp;Enable Parallel Port</string>
-     </property>
-     <property name="checked" >
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0" >
-    <spacer>
-     <property name="orientation" >
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeType" >
-      <enum>QSizePolicy::Fixed</enum>
-     </property>
-     <property name="sizeHint" >
-      <size>
-       <width>20</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="1" column="1" >
-    <widget class="QWidget" native="1" name="mParallelChild" >
-     <layout class="QGridLayout" >
-      <property name="leftMargin" >
-       <number>0</number>
-      </property>
-      <property name="topMargin" >
-       <number>0</number>
-      </property>
-      <property name="rightMargin" >
-       <number>0</number>
-      </property>
-      <property name="bottomMargin" >
-       <number>0</number>
-      </property>
-      <item row="0" column="0" >
-       <widget class="QLabel" name="mLbNumber" >
-        <property name="text" >
-         <string>Port &amp;Number:</string>
-        </property>
-        <property name="alignment" >
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="buddy" >
-         <cstring>mCbNumber</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1" >
-       <widget class="QComboBox" name="mCbNumber" >
-        <property name="whatsThis" >
-         <string>Holds the parallel port number. You can choose one of the standard parallel ports or select &lt;b>User-defined&lt;/b> and specify port parameters manually.</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="2" >
-       <widget class="QLabel" name="mLbIRQ" >
-        <property name="text" >
-         <string>&amp;IRQ:</string>
-        </property>
-        <property name="buddy" >
-         <cstring>mLeIRQ</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="3" >
-       <widget class="QLineEdit" name="mLeIRQ" >
-        <property name="sizePolicy" >
-         <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="whatsThis" >
-         <string>Holds the IRQ number of this parallel port. This should be a whole number between &lt;tt>0&lt;/tt> and &lt;tt>255&lt;/tt>. Values greater than &lt;tt>15&lt;/tt> may only be used if the &lt;b>I/O APIC&lt;/b> setting is enabled for this virtual machine.</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="4" >
-       <widget class="QLabel" name="mLbIOPort" >
-        <property name="text" >
-         <string>I/O Po&amp;rt:</string>
-        </property>
-        <property name="buddy" >
-         <cstring>mLeIOPort</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="5" >
-       <widget class="QLineEdit" name="mLeIOPort" >
-        <property name="sizePolicy" >
-         <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="whatsThis" >
-         <string>Holds the base I/O port address of this parallel port. Valid values are integer numbers in range from &lt;tt>0&lt;/tt> to &lt;tt>0xFFFF&lt;/tt>.</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0" >
-       <widget class="QLabel" name="mLbPath" >
-        <property name="text" >
-         <string>Port &amp;Path:</string>
-        </property>
-        <property name="alignment" >
-         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-        </property>
-        <property name="buddy" >
-         <cstring>mLePath</cstring>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1" colspan="5" >
-       <widget class="QLineEdit" name="mLePath" >
-        <property name="whatsThis" >
-         <string>Holds the host parallel device name.</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item row="1" column="2" >
-    <spacer>
-     <property name="orientation" >
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeHint" >
-      <size>
-       <width>40</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="2" column="1" >
-    <spacer>
-     <property name="orientation" >
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" >
-      <size>
-       <width>16</width>
-       <height>21</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>mGbParallel</sender>
-   <signal>toggled(bool)</signal>
-   <receiver>mParallelChild</receiver>
-   <slot>setEnabled(bool)</slot>
-   <hints>
-    <hint type="sourcelabel" >
-     <x>76</x>
-     <y>20</y>
-    </hint>
-    <hint type="destinationlabel" >
-     <x>285</x>
-     <y>120</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
Index: /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp	(revision 68393)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp	(revision 68394)
@@ -353,5 +353,5 @@
     m_pCache->clear();
 
-    /* Prepare old parallel data: */
+    /* Prepare old serial data: */
     UIDataSettingsMachineSerial oldSerialData;
 
