VirtualBox

Changeset 85750 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Aug 13, 2020 12:35:10 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
139898
Message:

FE/Qt: bugref:9812. Removing UIMachineSettingsSerial.ui

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/VBoxUI.pro

    r85727 r85750  
    3434    src/settings/machine/UIMachineSettingsGeneral.ui \
    3535    src/settings/machine/UIMachineSettingsNetwork.ui \
    36     src/settings/machine/UIMachineSettingsSerial.ui \
    3736    src/settings/machine/UIMachineSettingsUSB.ui \
    3837    src/settings/machine/UIMachineSettingsUSBFilterDetails.ui
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp

    r82968 r85750  
    1717
    1818/* Qt includes: */
     19#include <QCheckBox>
     20#include <QComboBox>
    1921#include <QDir>
     22#include <QGridLayout>
     23#include <QLabel>
     24#include <QLineEdit>
    2025
    2126/* GUI includes: */
     
    95100
    96101/** Machine settings: Serial Port tab. */
    97 class UIMachineSettingsSerial : public QIWithRetranslateUI<QWidget>,
    98                                 public Ui::UIMachineSettingsSerial
     102class UIMachineSettingsSerial : public QIWithRetranslateUI<QWidget>
    99103{
    100104    Q_OBJECT;
     
    127131private:
    128132
     133    /* Prepares widgets: */
     134    void prepareWidgets();
     135
    129136    /* Helper: Prepare stuff: */
    130137    void prepareValidation();
     
    140147    /** Holds the port mode. */
    141148    KPortMode  m_enmPortMode;
     149
     150    /** @name Widgets
     151     * @{ */
     152       QLineEdit *m_pLineEditIRQ;
     153       QLineEdit *m_pLineEditIOPort;
     154       QLineEdit *m_pLineEditPath;
     155       QComboBox *m_ComboBoxNumber;
     156       QComboBox *m_pComboBoxMode;
     157       QCheckBox *m_pCheckBoxSerial;
     158       QCheckBox *m_pComboBoxPipe;
     159       QLabel *m_pLabelNumber;
     160       QLabel *m_pLabelIRQ;
     161       QLabel *m_pLabelIOPort;
     162       QLabel *m_pLabelMode;
     163       QLabel *m_pLabelPath;
     164    /** @} */
     165
     166    friend class UIMachineSettingsSerialPage;
    142167};
    143168
     
    152177    , m_iSlot(-1)
    153178    , m_enmPortMode(KPortMode_Max)
    154 {
    155     /* Apply UI decorations: */
    156     Ui::UIMachineSettingsSerial::setupUi(this);
     179    , m_pLineEditIRQ(0)
     180    , m_pLineEditIOPort(0)
     181    , m_pLineEditPath(0)
     182    , m_ComboBoxNumber(0)
     183    , m_pComboBoxMode(0)
     184    , m_pCheckBoxSerial(0)
     185    , m_pComboBoxPipe(0)
     186    , m_pLabelNumber(0)
     187    , m_pLabelIRQ(0)
     188    , m_pLabelIOPort(0)
     189    , m_pLabelMode(0)
     190    , m_pLabelPath(0)
     191{
     192    prepareWidgets();
    157193
    158194    /* Setup validation: */
    159     mLeIRQ->setValidator(new QIULongValidator(0, 255, this));
    160     mLeIOPort->setValidator(new QIULongValidator(0, 0xFFFF, this));
    161     mLePath->setValidator(new QRegExpValidator(QRegExp(".+"), this));
     195    m_pLineEditIRQ->setValidator(new QIULongValidator(0, 255, this));
     196    m_pLineEditIOPort->setValidator(new QIULongValidator(0, 0xFFFF, this));
     197    m_pLineEditPath->setValidator(new QRegExpValidator(QRegExp(".+"), this));
    162198
    163199    /* Setup constraints: */
    164     mLeIRQ->setFixedWidth(mLeIRQ->fontMetrics().width("8888"));
    165     mLeIOPort->setFixedWidth(mLeIOPort->fontMetrics().width("8888888"));
     200    m_pLineEditIRQ->setFixedWidth(m_pLineEditIRQ->fontMetrics().width("8888"));
     201    m_pLineEditIOPort->setFixedWidth(m_pLineEditIOPort->fontMetrics().width("8888888"));
    166202
    167203    /* Set initial values: */
    168204    /* Note: If you change one of the following don't forget retranslateUi. */
    169     mCbNumber->insertItem(0, uiCommon().toCOMPortName(0, 0));
    170     mCbNumber->insertItems(0, uiCommon().COMPortNames());
     205    m_ComboBoxNumber->insertItem(0, uiCommon().toCOMPortName(0, 0));
     206    m_ComboBoxNumber->insertItems(0, uiCommon().COMPortNames());
    171207
    172208    /* Setup connections: */
    173     connect(mGbSerial, &QCheckBox::toggled,
     209    connect(m_pCheckBoxSerial, &QCheckBox::toggled,
    174210            this, &UIMachineSettingsSerial::sltGbSerialToggled);
    175     connect(mCbNumber, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::activated),
     211    connect(m_ComboBoxNumber, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::activated),
    176212            this, &UIMachineSettingsSerial::sltCbNumberActivated);
    177     connect(mCbMode, static_cast<void(QComboBox::*)(int)>(&QComboBox::activated),
     213    connect(m_pComboBoxMode, static_cast<void(QComboBox::*)(int)>(&QComboBox::activated),
    178214            this, &UIMachineSettingsSerial::sltHandlePortModeChange);
    179215
     
    185221}
    186222
     223void UIMachineSettingsSerial::prepareWidgets()
     224{
     225    if (objectName().isEmpty())
     226        setObjectName(QStringLiteral("UIMachineSettingsSerial"));
     227    resize(357, 179);
     228    QGridLayout *pMainLayout = new QGridLayout(this);
     229    pMainLayout->setObjectName(QStringLiteral("pMainLayout"));
     230    m_pCheckBoxSerial = new QCheckBox();
     231    m_pCheckBoxSerial->setObjectName(QStringLiteral("m_pCheckBoxSerial"));
     232    m_pCheckBoxSerial->setChecked(true);
     233
     234    pMainLayout->addWidget(m_pCheckBoxSerial, 0, 0, 1, 2);
     235
     236    QSpacerItem *pSpacerItem = new QSpacerItem(20, 0, QSizePolicy::Fixed, QSizePolicy::Minimum);
     237    pMainLayout->addItem(pSpacerItem, 1, 0, 1, 1);
     238
     239    QWidget *pWidgetSerialChild = new QWidget();
     240    pWidgetSerialChild->setObjectName(QStringLiteral("pWidgetSerialChild"));
     241    QGridLayout *pGridLayout1 = new QGridLayout(pWidgetSerialChild);
     242    pGridLayout1->setObjectName(QStringLiteral("pGridLayout1"));
     243    pGridLayout1->setContentsMargins(0, 0, 0, 0);
     244    m_pLabelNumber = new QLabel(pWidgetSerialChild);
     245    m_pLabelNumber->setObjectName(QStringLiteral("m_pLabelNumber"));
     246    m_pLabelNumber->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     247    pGridLayout1->addWidget(m_pLabelNumber, 0, 0, 1, 1);
     248
     249    m_ComboBoxNumber = new QComboBox(pWidgetSerialChild);
     250    m_ComboBoxNumber->setObjectName(QStringLiteral("m_ComboBoxNumber"));
     251    pGridLayout1->addWidget(m_ComboBoxNumber, 0, 1, 1, 1);
     252
     253    m_pLabelIRQ = new QLabel(pWidgetSerialChild);
     254    m_pLabelIRQ->setObjectName(QStringLiteral("m_pLabelIRQ"));
     255    pGridLayout1->addWidget(m_pLabelIRQ, 0, 2, 1, 1);
     256
     257    m_pLineEditIRQ = new QLineEdit(pWidgetSerialChild);
     258    m_pLineEditIRQ->setObjectName(QStringLiteral("m_pLineEditIRQ"));
     259    pGridLayout1->addWidget(m_pLineEditIRQ, 0, 3, 1, 1);
     260
     261    m_pLabelIOPort = new QLabel(pWidgetSerialChild);
     262    m_pLabelIOPort->setObjectName(QStringLiteral("m_pLabelIOPort"));
     263    pGridLayout1->addWidget(m_pLabelIOPort, 0, 4, 1, 1);
     264
     265    m_pLineEditIOPort = new QLineEdit(pWidgetSerialChild);
     266    m_pLineEditIOPort->setObjectName(QStringLiteral("m_pLineEditIOPort"));
     267    pGridLayout1->addWidget(m_pLineEditIOPort, 0, 5, 1, 1);
     268
     269    QSpacerItem *pSpacerItem1 = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
     270    pGridLayout1->addItem(pSpacerItem1, 0, 6, 1, 1);
     271
     272    m_pLabelMode = new QLabel(pWidgetSerialChild);
     273    m_pLabelMode->setObjectName(QStringLiteral("m_pLabelMode"));
     274    m_pLabelMode->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     275    pGridLayout1->addWidget(m_pLabelMode, 1, 0, 1, 1);
     276
     277    m_pComboBoxMode = new QComboBox(pWidgetSerialChild);
     278    m_pComboBoxMode->setObjectName(QStringLiteral("m_pComboBoxMode"));
     279    pGridLayout1->addWidget(m_pComboBoxMode, 1, 1, 1, 1);
     280
     281    QSpacerItem *pSpacerItem2 = new QSpacerItem(131, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
     282    pGridLayout1->addItem(pSpacerItem2, 1, 2, 1, 4);
     283
     284    m_pComboBoxPipe = new QCheckBox(pWidgetSerialChild);
     285    m_pComboBoxPipe->setObjectName(QStringLiteral("m_pComboBoxPipe"));
     286    pGridLayout1->addWidget(m_pComboBoxPipe, 2, 1, 1, 5);
     287
     288    m_pLabelPath = new QLabel(pWidgetSerialChild);
     289    m_pLabelPath->setObjectName(QStringLiteral("m_pLabelPath"));
     290    m_pLabelPath->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     291    pGridLayout1->addWidget(m_pLabelPath, 3, 0, 1, 1);
     292
     293    m_pLineEditPath = new QLineEdit(pWidgetSerialChild);
     294    m_pLineEditPath->setObjectName(QStringLiteral("m_pLineEditPath"));
     295    pGridLayout1->addWidget(m_pLineEditPath, 3, 1, 1, 6);
     296
     297    pMainLayout->addWidget(pWidgetSerialChild, 1, 1, 1, 1);
     298    QSpacerItem *pSpacerItem3 = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
     299    pMainLayout->addItem(pSpacerItem3, 2, 0, 1, 2);
     300
     301    m_pLabelNumber->setBuddy(m_ComboBoxNumber);
     302    m_pLabelIRQ->setBuddy(m_pLineEditIRQ);
     303    m_pLabelIOPort->setBuddy(m_pLineEditIOPort);
     304    m_pLabelMode->setBuddy(m_pComboBoxMode);
     305    m_pLabelPath->setBuddy(m_pLineEditPath);
     306
     307    QObject::connect(m_pCheckBoxSerial, &QCheckBox::toggled, pWidgetSerialChild, &QLineEdit::setEnabled);
     308}
     309
    187310void UIMachineSettingsSerial::polishTab()
    188311{
    189312    /* Polish port page: */
    190313    ulong uIRQ, uIOBase;
    191     const bool fStd = uiCommon().toCOMPortNumbers(mCbNumber->currentText(), uIRQ, uIOBase);
    192     const KPortMode enmMode = mCbMode->currentData().value<KPortMode>();
    193     mGbSerial->setEnabled(m_pParent->isMachineOffline());
    194     mLbNumber->setEnabled(m_pParent->isMachineOffline());
    195     mCbNumber->setEnabled(m_pParent->isMachineOffline());
    196     mLbIRQ->setEnabled(m_pParent->isMachineOffline());
    197     mLeIRQ->setEnabled(!fStd && m_pParent->isMachineOffline());
    198     mLbIOPort->setEnabled(m_pParent->isMachineOffline());
    199     mLeIOPort->setEnabled(!fStd && m_pParent->isMachineOffline());
    200     mLbMode->setEnabled(m_pParent->isMachineOffline());
    201     mCbMode->setEnabled(m_pParent->isMachineOffline());
    202     mCbPipe->setEnabled(   (enmMode == KPortMode_HostPipe || enmMode == KPortMode_TCP)
     314    const bool fStd = uiCommon().toCOMPortNumbers(m_ComboBoxNumber->currentText(), uIRQ, uIOBase);
     315    const KPortMode enmMode = m_pComboBoxMode->currentData().value<KPortMode>();
     316    m_pCheckBoxSerial->setEnabled(m_pParent->isMachineOffline());
     317    m_pLabelNumber->setEnabled(m_pParent->isMachineOffline());
     318    m_ComboBoxNumber->setEnabled(m_pParent->isMachineOffline());
     319    m_pLabelIRQ->setEnabled(m_pParent->isMachineOffline());
     320    m_pLineEditIRQ->setEnabled(!fStd && m_pParent->isMachineOffline());
     321    m_pLabelIOPort->setEnabled(m_pParent->isMachineOffline());
     322    m_pLineEditIOPort->setEnabled(!fStd && m_pParent->isMachineOffline());
     323    m_pLabelMode->setEnabled(m_pParent->isMachineOffline());
     324    m_pComboBoxMode->setEnabled(m_pParent->isMachineOffline());
     325    m_pComboBoxPipe->setEnabled(   (enmMode == KPortMode_HostPipe || enmMode == KPortMode_TCP)
    203326                        && m_pParent->isMachineOffline());
    204     mLbPath->setEnabled(   enmMode != KPortMode_Disconnected
     327    m_pLabelPath->setEnabled(   enmMode != KPortMode_Disconnected
    205328                        && m_pParent->isMachineOffline());
    206     mLePath->setEnabled(   enmMode != KPortMode_Disconnected
     329    m_pLineEditPath->setEnabled(   enmMode != KPortMode_Disconnected
    207330                        && m_pParent->isMachineOffline());
    208331}
     
    214337
    215338    /* Load port data: */
    216     mGbSerial->setChecked(portData.m_fPortEnabled);
    217     mCbNumber->setCurrentIndex(mCbNumber->findText(uiCommon().toCOMPortName(portData.m_uIRQ, portData.m_uIOBase)));
    218     mLeIRQ->setText(QString::number(portData.m_uIRQ));
    219     mLeIOPort->setText("0x" + QString::number(portData.m_uIOBase, 16).toUpper());
     339    m_pCheckBoxSerial->setChecked(portData.m_fPortEnabled);
     340    m_ComboBoxNumber->setCurrentIndex(m_ComboBoxNumber->findText(uiCommon().toCOMPortName(portData.m_uIRQ, portData.m_uIOBase)));
     341    m_pLineEditIRQ->setText(QString::number(portData.m_uIRQ));
     342    m_pLineEditIOPort->setText("0x" + QString::number(portData.m_uIOBase, 16).toUpper());
    220343    m_enmPortMode = portData.m_hostMode;
    221     mCbPipe->setChecked(!portData.m_fServer);
    222     mLePath->setText(portData.m_strPath);
     344    m_pComboBoxPipe->setChecked(!portData.m_fServer);
     345    m_pLineEditPath->setText(portData.m_strPath);
    223346
    224347    /* Repopulate combo-boxes content: */
    225348    populateComboboxes();
    226349    /* Ensure everything is up-to-date */
    227     sltGbSerialToggled(mGbSerial->isChecked());
     350    sltGbSerialToggled(m_pCheckBoxSerial->isChecked());
    228351}
    229352
     
    231354{
    232355    /* Save port data: */
    233     portData.m_fPortEnabled = mGbSerial->isChecked();
    234     portData.m_uIRQ = mLeIRQ->text().toULong(NULL, 0);
    235     portData.m_uIOBase = mLeIOPort->text().toULong(NULL, 0);
    236     portData.m_fServer = !mCbPipe->isChecked();
    237     portData.m_hostMode = mCbMode->currentData().value<KPortMode>();
    238     portData.m_strPath = QDir::toNativeSeparators(mLePath->text());
     356    portData.m_fPortEnabled = m_pCheckBoxSerial->isChecked();
     357    portData.m_uIRQ = m_pLineEditIRQ->text().toULong(NULL, 0);
     358    portData.m_uIOBase = m_pLineEditIOPort->text().toULong(NULL, 0);
     359    portData.m_fServer = !m_pComboBoxPipe->isChecked();
     360    portData.m_hostMode = m_pComboBoxMode->currentData().value<KPortMode>();
     361    portData.m_strPath = QDir::toNativeSeparators(m_pLineEditPath->text());
    239362}
    240363
    241364QWidget *UIMachineSettingsSerial::setOrderAfter(QWidget *pAfter)
    242365{
    243     setTabOrder(pAfter, mGbSerial);
    244     setTabOrder(mGbSerial, mCbNumber);
    245     setTabOrder(mCbNumber, mLeIRQ);
    246     setTabOrder(mLeIRQ, mLeIOPort);
    247     setTabOrder(mLeIOPort, mCbMode);
    248     setTabOrder(mCbMode, mCbPipe);
    249     setTabOrder(mCbPipe, mLePath);
    250     return mLePath;
     366    setTabOrder(pAfter, m_pCheckBoxSerial);
     367    setTabOrder(m_pCheckBoxSerial, m_ComboBoxNumber);
     368    setTabOrder(m_ComboBoxNumber, m_pLineEditIRQ);
     369    setTabOrder(m_pLineEditIRQ, m_pLineEditIOPort);
     370    setTabOrder(m_pLineEditIOPort, m_pComboBoxMode);
     371    setTabOrder(m_pComboBoxMode, m_pComboBoxPipe);
     372    setTabOrder(m_pComboBoxPipe, m_pLineEditPath);
     373    return m_pLineEditPath;
    251374}
    252375
     
    259382{
    260383    ulong a, b;
    261     return !uiCommon().toCOMPortNumbers(mCbNumber->currentText(), a, b);
     384    return !uiCommon().toCOMPortNumbers(m_ComboBoxNumber->currentText(), a, b);
    262385}
    263386
    264387void UIMachineSettingsSerial::retranslateUi()
    265388{
    266     /* Translate uic generated strings: */
    267     Ui::UIMachineSettingsSerial::retranslateUi(this);
    268 
    269     mCbNumber->setItemText(mCbNumber->count() - 1, uiCommon().toCOMPortName(0, 0));
     389    m_pCheckBoxSerial->setWhatsThis(tr("When checked, enables the given serial port of the virtual machine."));
     390    m_pCheckBoxSerial->setText(tr("&Enable Serial Port"));
     391    m_pLabelNumber->setText(tr("Port &Number:"));
     392    m_ComboBoxNumber->setWhatsThis(tr("Selects the serial port number. You can choose one of the standard serial ports or "
     393                                      "select <b>User-defined</b> and specify port parameters manually."));
     394    m_pLabelIRQ->setText(tr("&IRQ:"));
     395    m_pLineEditIRQ->setWhatsThis(tr("Holds the IRQ number of this serial port. This should be a whole number between <tt>0</tt> "
     396                                    "and <tt>255</tt>. Values greater than <tt>15</tt> may only be used if the <b>I/O APIC</b> "
     397                                    "setting is enabled for this virtual machine."));
     398    m_pLabelIOPort->setText(tr("I/O Po&rt:"));
     399    m_pLineEditIOPort->setWhatsThis(tr("Holds the base I/O port address of this serial port. Valid values are integer numbers in "
     400                                       "range from <tt>0</tt> to <tt>0xFFFF</tt>."));
     401    m_pLabelMode->setText(tr("Port &Mode:"));
     402    m_pComboBoxMode->setWhatsThis(tr("Selects the working mode of this serial port. If you select <b>Disconnected</b>, the guest "
     403                                     "OS will detect the serial port but will not be able to operate it."));
     404    m_pComboBoxPipe->setWhatsThis(tr("When checked, the virtual machine will assume that the pipe or socket specified in the "
     405                                     "<b>Path/Address</b> field exists and try to use it. Otherwise, the pipe or socket will be "
     406                                     "created by the virtual machine when it starts."));
     407    m_pComboBoxPipe->setText(tr("&Connect to existing pipe/socket"));
     408    m_pLabelPath->setText(tr("&Path/Address:"));
     409    m_pLineEditPath->setWhatsThis(tr("<p>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host. "
     410                                     "Examples: \"\\\\.\\pipe\\myvbox\" or \"/tmp/myvbox\", for Windows and UNIX-like systems "
     411                                     "respectively.</p><p>In <b>Host Device</b> mode: Holds the host serial device name. "
     412                                     "Examples: \"COM1\" or \"/dev/ttyS0\".</p><p>In <b>Raw File</b> mode: Holds the file-path "
     413                                     "on the host system, where the serial output will be dumped.</p><p>In <b>TCP</b> mode: Holds "
     414                                     "the TCP \"port\" when in server mode, or \"hostname:port\" when in client mode."));
     415
     416    m_ComboBoxNumber->setItemText(m_ComboBoxNumber->count() - 1, uiCommon().toCOMPortName(0, 0));
    270417
    271418    /* Translate combo-boxes content: */
     
    277424    if (fOn)
    278425    {
    279         sltCbNumberActivated(mCbNumber->currentText());
    280         sltHandlePortModeChange(mCbMode->currentIndex());
     426        sltCbNumberActivated(m_ComboBoxNumber->currentText());
     427        sltHandlePortModeChange(m_pComboBoxMode->currentIndex());
    281428    }
    282429
     
    290437    bool fStd = uiCommon().toCOMPortNumbers(strText, uIRQ, uIOBase);
    291438
    292     mLeIRQ->setEnabled(!fStd);
    293     mLeIOPort->setEnabled(!fStd);
     439    m_pLineEditIRQ->setEnabled(!fStd);
     440    m_pLineEditIOPort->setEnabled(!fStd);
    294441    if (fStd)
    295442    {
    296         mLeIRQ->setText(QString::number(uIRQ));
    297         mLeIOPort->setText("0x" + QString::number(uIOBase, 16).toUpper());
     443        m_pLineEditIRQ->setText(QString::number(uIRQ));
     444        m_pLineEditIOPort->setText("0x" + QString::number(uIOBase, 16).toUpper());
    298445    }
    299446
     
    304451void UIMachineSettingsSerial::sltHandlePortModeChange(int iIndex)
    305452{
    306     const KPortMode enmMode = mCbMode->itemData(iIndex).value<KPortMode>();
    307     mCbPipe->setEnabled(enmMode == KPortMode_HostPipe || enmMode == KPortMode_TCP);
    308     mLePath->setEnabled(enmMode != KPortMode_Disconnected);
    309     mLbPath->setEnabled(enmMode != KPortMode_Disconnected);
     453    const KPortMode enmMode = m_pComboBoxMode->itemData(iIndex).value<KPortMode>();
     454    m_pComboBoxPipe->setEnabled(enmMode == KPortMode_HostPipe || enmMode == KPortMode_TCP);
     455    m_pLineEditPath->setEnabled(enmMode != KPortMode_Disconnected);
     456    m_pLabelPath->setEnabled(enmMode != KPortMode_Disconnected);
    310457
    311458    /* Revalidate: */
     
    316463{
    317464    /* Prepare validation: */
    318     connect(mLeIRQ, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);
    319     connect(mLeIOPort, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);
    320     connect(mLePath, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);
     465    connect(m_pLineEditIRQ, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);
     466    connect(m_pLineEditIOPort, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);
     467    connect(m_pLineEditPath, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);
    321468}
    322469
     
    326473    {
    327474        /* Clear the port mode combo-box: */
    328         mCbMode->clear();
     475        m_pComboBoxMode->clear();
    329476
    330477        /* Load currently supported port moded: */
     
    339486        foreach (const KPortMode &enmMode, supportedModes)
    340487        {
    341             mCbMode->insertItem(iPortModeIndex, gpConverter->toString(enmMode));
    342             mCbMode->setItemData(iPortModeIndex, QVariant::fromValue(enmMode));
    343             mCbMode->setItemData(iPortModeIndex, mCbMode->itemText(iPortModeIndex), Qt::ToolTipRole);
     488            m_pComboBoxMode->insertItem(iPortModeIndex, gpConverter->toString(enmMode));
     489            m_pComboBoxMode->setItemData(iPortModeIndex, QVariant::fromValue(enmMode));
     490            m_pComboBoxMode->setItemData(iPortModeIndex, m_pComboBoxMode->itemText(iPortModeIndex), Qt::ToolTipRole);
    344491            ++iPortModeIndex;
    345492        }
    346493
    347494        /* Choose requested port mode: */
    348         const int iIndex = mCbMode->findData(m_enmPortMode);
    349         mCbMode->setCurrentIndex(iIndex != -1 ? iIndex : 0);
     495        const int iIndex = m_pComboBoxMode->findData(m_enmPortMode);
     496        m_pComboBoxMode->setCurrentIndex(iIndex != -1 ? iIndex : 0);
    350497    }
    351498}
     
    499646        QWidget *pTab = m_pTabWidget->widget(iIndex);
    500647        UIMachineSettingsSerial *pPage = static_cast<UIMachineSettingsSerial*>(pTab);
    501         if (!pPage->mGbSerial->isChecked())
     648        if (!pPage->m_pCheckBoxSerial->isChecked())
    502649            continue;
    503650
     
    507654
    508655        /* Check the port attribute emptiness & uniqueness: */
    509         const QString strIRQ(pPage->mLeIRQ->text());
    510         const QString strIOPort(pPage->mLeIOPort->text());
     656        const QString strIRQ(pPage->m_pLineEditIRQ->text());
     657        const QString strIOPort(pPage->m_pLineEditIOPort->text());
    511658        const QPair<QString, QString> pair(strIRQ, strIOPort);
    512659
     
    529676        ports << pair;
    530677
    531         const KPortMode enmMode = pPage->mCbMode->currentData().value<KPortMode>();
     678        const KPortMode enmMode = pPage->m_pComboBoxMode->currentData().value<KPortMode>();
    532679        if (enmMode != KPortMode_Disconnected)
    533680        {
    534             const QString strPath(pPage->mLePath->text());
     681            const QString strPath(pPage->m_pLineEditPath->text());
    535682
    536683            if (strPath.isEmpty())
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.h

    r82968 r85750  
    2424/* GUI includes: */
    2525#include "UISettingsPage.h"
    26 #include "UIMachineSettingsSerial.gen.h"
    2726
    2827/* Forward declarations: */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette