VirtualBox

Changeset 85956 in vbox


Ignore:
Timestamp:
Aug 31, 2020 12:58:46 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
140151
Message:

FE/Qt: bugref:9812: VM settings: Prepare cascade cleanup for USB details dialog.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSB.cpp

    r85953 r85956  
    758758    /* Configure USB filter details dialog: */
    759759    UIMachineSettingsUSBFilterDetails dlgFilterDetails(this);
    760     dlgFilterDetails.m_pLineEditName->setText(pItem->m_strName);
    761     dlgFilterDetails.m_pLineEditVendorID->setText(pItem->m_strVendorId);
    762     dlgFilterDetails.m_pLineEditProductID->setText(pItem->m_strProductId);
    763     dlgFilterDetails.m_pLineEditRevision->setText(pItem->m_strRevision);
    764     dlgFilterDetails.m_pLineEditPort->setText(pItem->m_strPort);
    765     dlgFilterDetails.m_pLineEditManufacturer->setText(pItem->m_strManufacturer);
    766     dlgFilterDetails.m_pLineEditProduct->setText(pItem->m_strProduct);
    767     dlgFilterDetails.m_pLineEditSerialNo->setText(pItem->m_strSerialNumber);
     760    dlgFilterDetails.m_pEditorName->setText(pItem->m_strName);
     761    dlgFilterDetails.m_pEditorVendorID->setText(pItem->m_strVendorId);
     762    dlgFilterDetails.m_pEditorProductID->setText(pItem->m_strProductId);
     763    dlgFilterDetails.m_pEditorRevision->setText(pItem->m_strRevision);
     764    dlgFilterDetails.m_pEditorPort->setText(pItem->m_strPort);
     765    dlgFilterDetails.m_pEditorManufacturer->setText(pItem->m_strManufacturer);
     766    dlgFilterDetails.m_pEditorProduct->setText(pItem->m_strProduct);
     767    dlgFilterDetails.m_pEditorSerialNo->setText(pItem->m_strSerialNumber);
    768768    const QString strRemote = pItem->m_strRemote.toLower();
    769769    if (strRemote == "yes" || strRemote == "true" || strRemote == "1")
    770         dlgFilterDetails.m_pComboBoxRemote->setCurrentIndex(ModeOn);
     770        dlgFilterDetails.m_pComboRemote->setCurrentIndex(ModeOn);
    771771    else if (strRemote == "no" || strRemote == "false" || strRemote == "0")
    772         dlgFilterDetails.m_pComboBoxRemote->setCurrentIndex(ModeOff);
     772        dlgFilterDetails.m_pComboRemote->setCurrentIndex(ModeOff);
    773773    else
    774         dlgFilterDetails.m_pComboBoxRemote->setCurrentIndex(ModeAny);
     774        dlgFilterDetails.m_pComboRemote->setCurrentIndex(ModeAny);
    775775
    776776    /* Run USB filter details dialog: */
     
    778778    {
    779779        /* Update edited tree-widget item: */
    780         pItem->m_strName = dlgFilterDetails.m_pLineEditName->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditName->text();
    781         pItem->m_strVendorId = dlgFilterDetails.m_pLineEditVendorID->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditVendorID->text();
    782         pItem->m_strProductId = dlgFilterDetails.m_pLineEditProductID->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditProductID->text();
    783         pItem->m_strRevision = dlgFilterDetails.m_pLineEditRevision->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditRevision->text();
    784         pItem->m_strManufacturer = dlgFilterDetails.m_pLineEditManufacturer->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditManufacturer->text();
    785         pItem->m_strProduct = dlgFilterDetails.m_pLineEditProduct->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditProduct->text();
    786         pItem->m_strSerialNumber = dlgFilterDetails.m_pLineEditSerialNo->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditSerialNo->text();
    787         pItem->m_strPort = dlgFilterDetails.m_pLineEditPort->text().isEmpty() ? QString() : dlgFilterDetails.m_pLineEditPort->text();
    788         switch (dlgFilterDetails.m_pComboBoxRemote->currentIndex())
     780        pItem->m_strName = dlgFilterDetails.m_pEditorName->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorName->text();
     781        pItem->m_strVendorId = dlgFilterDetails.m_pEditorVendorID->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorVendorID->text();
     782        pItem->m_strProductId = dlgFilterDetails.m_pEditorProductID->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorProductID->text();
     783        pItem->m_strRevision = dlgFilterDetails.m_pEditorRevision->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorRevision->text();
     784        pItem->m_strManufacturer = dlgFilterDetails.m_pEditorManufacturer->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorManufacturer->text();
     785        pItem->m_strProduct = dlgFilterDetails.m_pEditorProduct->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorProduct->text();
     786        pItem->m_strSerialNumber = dlgFilterDetails.m_pEditorSerialNo->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorSerialNo->text();
     787        pItem->m_strPort = dlgFilterDetails.m_pEditorPort->text().isEmpty() ? QString() : dlgFilterDetails.m_pEditorPort->text();
     788        switch (dlgFilterDetails.m_pComboRemote->currentIndex())
    789789        {
    790790            case ModeAny: pItem->m_strRemote = QString(); break;
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSBFilterDetails.cpp

    r85792 r85956  
    3030UIMachineSettingsUSBFilterDetails::UIMachineSettingsUSBFilterDetails(QWidget *pParent /* = 0 */)
    3131    : QIWithRetranslateUI2<QIDialog>(pParent, Qt::Sheet)
    32     , m_pComboBoxRemote(0)
    33     , m_pLineEditName(0)
    34     , m_pLineEditVendorID(0)
    35     , m_pLineEditProductID(0)
    36     , m_pLineEditRevision(0)
    37     , m_pLineEditPort(0)
    38     , m_pLineEditManufacturer(0)
    39     , m_pLineEditProduct(0)
    40     , m_pLineEditSerialNo(0)
     32    , m_pLayoutMain(0)
     33    , m_pLabelName(0)
     34    , m_pEditorName(0)
     35    , m_pLabelVendorID(0)
     36    , m_pEditorVendorID(0)
     37    , m_pLabelProductID(0)
     38    , m_pEditorProductID(0)
     39    , m_pLabelRevision(0)
     40    , m_pEditorRevision(0)
     41    , m_pLabelManufacturer(0)
     42    , m_pEditorManufacturer(0)
     43    , m_pLabelProduct(0)
     44    , m_pEditorProduct(0)
     45    , m_pLabelSerialNo(0)
     46    , m_pEditorSerialNo(0)
    4147    , m_pLabelPort(0)
     48    , m_pEditorPort(0)
    4249    , m_pLabelRemote(0)
    43     , m_pLabelProductID(0)
    44     , m_pLabelName(0)
    45     , m_pLabelVendorID(0)
    46     , m_pLabelRevision(0)
    47     , m_pLabelManufacturer(0)
    48     , m_pLabelProduct(0)
    49     , m_pLabelSerialNo(0)
    50     , gridLayout(0)
    51 {
    52     prepareWidgets();
    53 
    54     m_pComboBoxRemote->insertItem (UIMachineSettingsUSB::ModeAny, ""); /* Any */
    55     m_pComboBoxRemote->insertItem (UIMachineSettingsUSB::ModeOn,  ""); /* Yes */
    56     m_pComboBoxRemote->insertItem (UIMachineSettingsUSB::ModeOff, ""); /* No */
    57 
    58     m_pLineEditName->setValidator (new QRegExpValidator (QRegExp (".+"), this));
    59     m_pLineEditVendorID->setValidator (new QRegExpValidator (QRegExp ("[0-9a-fA-F]{0,4}"), this));
    60     m_pLineEditProductID->setValidator (new QRegExpValidator (QRegExp ("[0-9a-fA-F]{0,4}"), this));
    61     m_pLineEditRevision->setValidator (new QRegExpValidator (QRegExp ("[0-9a-fA-F]{0,4}"), this));
    62     m_pLineEditPort->setValidator (new QRegExpValidator (QRegExp ("[0-9]*"), this));
    63 
    64     /* Applying language settings */
    65     retranslateUi();
    66 
    67     resize (minimumSize());
    68     setSizePolicy (QSizePolicy::Fixed, QSizePolicy::Fixed);
     50    , m_pComboRemote(0)
     51    , m_pButtonBox(0)
     52{
     53    prepare();
    6954}
    7055
     
    7257{
    7358    setWindowTitle(tr("USB Filter Details"));
     59
    7460    m_pLabelName->setText(tr("&Name:"));
    75     m_pLineEditName->setToolTip(tr("Holds the filter name."));
     61    m_pEditorName->setToolTip(tr("Holds the filter name."));
    7662    m_pLabelVendorID->setText(tr("&Vendor ID:"));
    77     m_pLineEditVendorID->setToolTip(tr("Holds the vendor ID filter. The "
     63    m_pEditorVendorID->setToolTip(tr("Holds the vendor ID filter. The "
    7864                                       "<i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a "
    7965                                       "hexadecimal digit. An empty string will match any value."));
    8066    m_pLabelProductID->setText(tr("&Product ID:"));
    81     m_pLineEditProductID->setToolTip(tr("Holds the product ID filter. The "
     67    m_pEditorProductID->setToolTip(tr("Holds the product ID filter. The "
    8268                                        "<i>exact match</i> string format is <tt>XXXX</tt> where <tt>X</tt> is a "
    8369                                        "hexadecimal digit. An empty string will match any value."));
    8470    m_pLabelRevision->setText(tr("&Revision:"));
    85     m_pLineEditRevision->setToolTip(tr("Holds the revision number filter. The "
     71    m_pEditorRevision->setToolTip(tr("Holds the revision number filter. The "
    8672                                       "<i>exact match</i> string format is <tt>IIFF</tt> where <tt>I</tt> is a decimal "
    8773                                       "digit of the integer part and <tt>F</tt> is a decimal digit of the fractional "
    8874                                       "part. An empty string will match any value."));
    8975    m_pLabelManufacturer->setText(tr("&Manufacturer:"));
    90     m_pLineEditManufacturer->setToolTip(tr("Holds the manufacturer filter as an "
     76    m_pEditorManufacturer->setToolTip(tr("Holds the manufacturer filter as an "
    9177                                           "<i>exact match</i> string. An empty string will match any value."));
    9278    m_pLabelProduct->setText(tr("Pro&duct:"));
    93     m_pLineEditProduct->setToolTip(tr("Holds the product name filter as an "
     79    m_pEditorProduct->setToolTip(tr("Holds the product name filter as an "
    9480                                      "<i>exact match</i> string. An empty string will match any value."));
    9581    m_pLabelSerialNo->setText(tr("&Serial No.:"));
    96     m_pLineEditSerialNo->setToolTip(tr("Holds the serial number filter as an "
     82    m_pEditorSerialNo->setToolTip(tr("Holds the serial number filter as an "
    9783                                       "<i>exact match</i> string. An empty string will match any value."));
    9884    m_pLabelPort->setText(tr("Por&t:"));
    99     m_pLineEditPort->setToolTip(tr("Holds the host USB port filter as an "
     85    m_pEditorPort->setToolTip(tr("Holds the host USB port filter as an "
    10086                                   "<i>exact match</i> string. An empty string will match any value."));
    10187    m_pLabelRemote->setText(tr("R&emote:"));
    102     m_pComboBoxRemote->setToolTip(tr("Holds whether this filter applies to USB "
     88    m_pComboRemote->setToolTip(tr("Holds whether this filter applies to USB "
    10389                                     "devices attached locally to the host computer (<i>No</i>), to a VRDP client's "
    10490                                     "computer (<i>Yes</i>), or both (<i>Any</i>)."));
    10591
    106     m_pComboBoxRemote->setItemText (UIMachineSettingsUSB::ModeAny, tr ("Any", "remote"));
    107     m_pComboBoxRemote->setItemText (UIMachineSettingsUSB::ModeOn,  tr ("Yes", "remote"));
    108     m_pComboBoxRemote->setItemText (UIMachineSettingsUSB::ModeOff, tr ("No",  "remote"));
    109 }
    110 
     92    m_pComboRemote->setItemText(UIMachineSettingsUSB::ModeAny, tr("Any", "remote"));
     93    m_pComboRemote->setItemText(UIMachineSettingsUSB::ModeOn,  tr("Yes", "remote"));
     94    m_pComboRemote->setItemText(UIMachineSettingsUSB::ModeOff, tr("No",  "remote"));
     95}
     96
     97void UIMachineSettingsUSBFilterDetails::prepare()
     98{
     99    /* Prepare everything: */
     100    prepareWidgets();
     101    prepareConnections();
     102
     103    /* Apply language settings: */
     104    retranslateUi();
     105
     106    /* Adjust size: */
     107    resize(minimumSize());
     108    setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
     109}
    111110
    112111void UIMachineSettingsUSBFilterDetails::prepareWidgets()
    113112{
    114     if (objectName().isEmpty())
    115         setObjectName(QStringLiteral("UIMachineSettingsUSBFilterDetails"));
    116     resize(350, 363);
    117     setMinimumSize(QSize(350, 0));
    118     gridLayout = new QGridLayout(this);
    119     gridLayout->setObjectName(QStringLiteral("gridLayout"));
    120     m_pLabelName = new QLabel();
    121     m_pLabelName->setObjectName(QStringLiteral("m_pLabelName"));
    122     m_pLabelName->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    123     gridLayout->addWidget(m_pLabelName, 0, 0, 1, 1);
    124 
    125     m_pLineEditName = new QLineEdit();
    126     m_pLineEditName->setObjectName(QStringLiteral("m_pLineEditName"));
    127     gridLayout->addWidget(m_pLineEditName, 0, 1, 1, 1);
    128 
    129     m_pLabelVendorID = new QLabel();
    130     m_pLabelVendorID->setObjectName(QStringLiteral("m_pLabelVendorID"));
    131     m_pLabelVendorID->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    132     gridLayout->addWidget(m_pLabelVendorID, 1, 0, 1, 1);
    133 
    134     m_pLineEditVendorID = new QLineEdit();
    135     m_pLineEditVendorID->setObjectName(QStringLiteral("m_pLineEditVendorID"));
    136     gridLayout->addWidget(m_pLineEditVendorID, 1, 1, 1, 1);
    137 
    138     m_pLabelProductID = new QLabel();
    139     m_pLabelProductID->setObjectName(QStringLiteral("m_pLabelProductID"));
    140     m_pLabelProductID->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    141     gridLayout->addWidget(m_pLabelProductID, 2, 0, 1, 1);
    142 
    143     m_pLineEditProductID = new QLineEdit();
    144     m_pLineEditProductID->setObjectName(QStringLiteral("m_pLineEditProductID"));
    145     gridLayout->addWidget(m_pLineEditProductID, 2, 1, 1, 1);
    146 
    147     m_pLabelRevision = new QLabel();
    148     m_pLabelRevision->setObjectName(QStringLiteral("m_pLabelRevision"));
    149     m_pLabelRevision->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    150     gridLayout->addWidget(m_pLabelRevision, 3, 0, 1, 1);
    151 
    152     m_pLineEditRevision = new QLineEdit();
    153     m_pLineEditRevision->setObjectName(QStringLiteral("m_pLineEditRevision"));
    154     gridLayout->addWidget(m_pLineEditRevision, 3, 1, 1, 1);
    155 
    156     m_pLabelManufacturer = new QLabel();
    157     m_pLabelManufacturer->setObjectName(QStringLiteral("m_pLabelManufacturer"));
    158     m_pLabelManufacturer->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    159     gridLayout->addWidget(m_pLabelManufacturer, 4, 0, 1, 1);
    160 
    161     m_pLineEditManufacturer = new QLineEdit();
    162     m_pLineEditManufacturer->setObjectName(QStringLiteral("m_pLineEditManufacturer"));
    163     gridLayout->addWidget(m_pLineEditManufacturer, 4, 1, 1, 1);
    164 
    165     m_pLabelProduct = new QLabel();
    166     m_pLabelProduct->setObjectName(QStringLiteral("m_pLabelProduct"));
    167     m_pLabelProduct->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    168     gridLayout->addWidget(m_pLabelProduct, 5, 0, 1, 1);
    169 
    170     m_pLineEditProduct = new QLineEdit();
    171     m_pLineEditProduct->setObjectName(QStringLiteral("m_pLineEditProduct"));
    172     gridLayout->addWidget(m_pLineEditProduct, 5, 1, 1, 1);
    173 
    174     m_pLabelSerialNo = new QLabel();
    175     m_pLabelSerialNo->setObjectName(QStringLiteral("m_pLabelSerialNo"));
    176     m_pLabelSerialNo->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    177     gridLayout->addWidget(m_pLabelSerialNo, 6, 0, 1, 1);
    178 
    179     m_pLineEditSerialNo = new QLineEdit();
    180     m_pLineEditSerialNo->setObjectName(QStringLiteral("m_pLineEditSerialNo"));
    181     gridLayout->addWidget(m_pLineEditSerialNo, 6, 1, 1, 1);
    182 
    183     m_pLabelPort = new QLabel();
    184     m_pLabelPort->setObjectName(QStringLiteral("m_pLabelPort"));
    185     m_pLabelPort->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    186     gridLayout->addWidget(m_pLabelPort, 7, 0, 1, 1);
    187 
    188     m_pLineEditPort = new QLineEdit();
    189     m_pLineEditPort->setObjectName(QStringLiteral("m_pLineEditPort"));
    190     gridLayout->addWidget(m_pLineEditPort, 7, 1, 1, 1);
    191 
    192     m_pLabelRemote = new QLabel();
    193     m_pLabelRemote->setObjectName(QStringLiteral("m_pLabelRemote"));
    194     m_pLabelRemote->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
    195     gridLayout->addWidget(m_pLabelRemote, 8, 0, 1, 1);
    196 
    197     m_pComboBoxRemote = new QComboBox();
    198     m_pComboBoxRemote->setObjectName(QStringLiteral("m_pComboBoxRemote"));
    199     QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
    200     sizePolicy.setHorizontalStretch(0);
    201     sizePolicy.setVerticalStretch(0);
    202     sizePolicy.setHeightForWidth(m_pComboBoxRemote->sizePolicy().hasHeightForWidth());
    203     m_pComboBoxRemote->setSizePolicy(sizePolicy);
    204     gridLayout->addWidget(m_pComboBoxRemote, 8, 1, 1, 1);
    205 
    206     QSpacerItem *pSpacerItem = new QSpacerItem(20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding);
    207     gridLayout->addItem(pSpacerItem, 9, 1, 1, 1);
    208 
    209     QIDialogButtonBox *pButtonBox = new QIDialogButtonBox();
    210     pButtonBox->setObjectName(QStringLiteral("pButtonBox"));
    211     pButtonBox->setStandardButtons(QDialogButtonBox::Cancel|QDialogButtonBox::NoButton|QDialogButtonBox::Ok);
    212     gridLayout->addWidget(pButtonBox, 10, 0, 1, 2);
    213 
    214     m_pLabelName->setBuddy(m_pLineEditName);
    215     m_pLabelVendorID->setBuddy(m_pLineEditVendorID);
    216     m_pLabelProductID->setBuddy(m_pLineEditProductID);
    217     m_pLabelRevision->setBuddy(m_pLineEditRevision);
    218     m_pLabelManufacturer->setBuddy(m_pLineEditManufacturer);
    219     m_pLabelProduct->setBuddy(m_pLineEditProduct);
    220     m_pLabelSerialNo->setBuddy(m_pLineEditSerialNo);
    221     m_pLabelPort->setBuddy(m_pLineEditPort);
    222     m_pLabelRemote->setBuddy(m_pComboBoxRemote);
    223 
    224     QObject::connect(pButtonBox, &QIDialogButtonBox::accepted, this, &UIMachineSettingsUSBFilterDetails::accept);
    225     QObject::connect(pButtonBox, &QIDialogButtonBox::rejected, this, &UIMachineSettingsUSBFilterDetails::reject);
    226 }
     113    m_pLayoutMain = new QGridLayout(this);
     114    if (m_pLayoutMain)
     115    {
     116        m_pLayoutMain->setRowStretch(9, 1);
     117
     118        m_pLabelName = new QLabel(this);
     119        if (m_pLabelName)
     120        {
     121            m_pLabelName->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     122            m_pLayoutMain->addWidget(m_pLabelName, 0, 0);
     123        }
     124        m_pEditorName = new QLineEdit(this);
     125        if (m_pEditorName)
     126        {
     127            if (m_pLabelName)
     128                m_pLabelName->setBuddy(m_pEditorName);
     129            m_pEditorName->setValidator(new QRegExpValidator(QRegExp(".+"), this));
     130
     131            m_pLayoutMain->addWidget(m_pEditorName, 0, 1);
     132        }
     133
     134        m_pLabelVendorID = new QLabel(this);
     135        if (m_pLabelVendorID)
     136        {
     137            m_pLabelVendorID->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     138            m_pLayoutMain->addWidget(m_pLabelVendorID, 1, 0);
     139        }
     140        m_pEditorVendorID = new QLineEdit(this);
     141        if (m_pEditorVendorID)
     142        {
     143            if (m_pLabelVendorID)
     144                m_pLabelVendorID->setBuddy(m_pEditorVendorID);
     145            m_pEditorVendorID->setValidator(new QRegExpValidator(QRegExp("[0-9a-fA-F]{0,4}"), this));
     146
     147            m_pLayoutMain->addWidget(m_pEditorVendorID, 1, 1);
     148        }
     149
     150        m_pLabelProductID = new QLabel(this);
     151        if (m_pLabelProductID)
     152        {
     153            m_pLabelProductID->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     154            m_pLayoutMain->addWidget(m_pLabelProductID, 2, 0);
     155        }
     156        m_pEditorProductID = new QLineEdit(this);
     157        if (m_pEditorProductID)
     158        {
     159            if (m_pLabelProductID)
     160                m_pLabelProductID->setBuddy(m_pEditorProductID);
     161            m_pEditorProductID->setValidator(new QRegExpValidator(QRegExp("[0-9a-fA-F]{0,4}"), this));
     162
     163            m_pLayoutMain->addWidget(m_pEditorProductID, 2, 1);
     164        }
     165
     166        m_pLabelRevision = new QLabel(this);
     167        if (m_pLabelRevision)
     168        {
     169            m_pLabelRevision->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     170            m_pLayoutMain->addWidget(m_pLabelRevision, 3, 0);
     171        }
     172        m_pEditorRevision = new QLineEdit(this);
     173        if (m_pEditorRevision)
     174        {
     175            if (m_pLabelRevision)
     176                m_pLabelRevision->setBuddy(m_pEditorRevision);
     177            m_pEditorRevision->setValidator(new QRegExpValidator(QRegExp("[0-9a-fA-F]{0,4}"), this));
     178
     179            m_pLayoutMain->addWidget(m_pEditorRevision, 3, 1);
     180        }
     181
     182        m_pLabelManufacturer = new QLabel(this);
     183        if (m_pLabelManufacturer)
     184        {
     185            m_pLabelManufacturer->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     186            m_pLayoutMain->addWidget(m_pLabelManufacturer, 4, 0);
     187        }
     188        m_pEditorManufacturer = new QLineEdit(this);
     189        if (m_pEditorManufacturer)
     190        {
     191            if (m_pLabelManufacturer)
     192                m_pLabelManufacturer->setBuddy(m_pEditorManufacturer);
     193            m_pLayoutMain->addWidget(m_pEditorManufacturer, 4, 1);
     194        }
     195
     196        m_pLabelProduct = new QLabel(this);
     197        if (m_pLabelProduct)
     198        {
     199            m_pLabelProduct->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     200            m_pLayoutMain->addWidget(m_pLabelProduct, 5, 0);
     201        }
     202        m_pEditorProduct = new QLineEdit(this);
     203        if (m_pEditorProduct)
     204        {
     205            if (m_pLabelProduct)
     206                m_pLabelProduct->setBuddy(m_pEditorProduct);
     207            m_pLayoutMain->addWidget(m_pEditorProduct, 5, 1);
     208        }
     209
     210        m_pLabelSerialNo = new QLabel(this);
     211        if (m_pLabelSerialNo)
     212        {
     213            m_pLabelSerialNo->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     214            m_pLayoutMain->addWidget(m_pLabelSerialNo, 6, 0);
     215        }
     216        m_pEditorSerialNo = new QLineEdit(this);
     217        if (m_pEditorSerialNo)
     218        {
     219            if (m_pLabelSerialNo)
     220                m_pLabelSerialNo->setBuddy(m_pEditorSerialNo);
     221            m_pLayoutMain->addWidget(m_pEditorSerialNo, 6, 1);
     222        }
     223
     224        m_pLabelPort = new QLabel(this);
     225        if (m_pLabelPort)
     226        {
     227            m_pLabelPort->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     228            m_pLayoutMain->addWidget(m_pLabelPort, 7, 0);
     229        }
     230        m_pEditorPort = new QLineEdit(this);
     231        if (m_pEditorPort)
     232        {
     233            if (m_pLabelPort)
     234                m_pLabelPort->setBuddy(m_pEditorPort);
     235            m_pEditorPort->setValidator(new QRegExpValidator(QRegExp("[0-9]*"), this));
     236
     237            m_pLayoutMain->addWidget(m_pEditorPort, 7, 1);
     238        }
     239
     240        m_pLabelRemote = new QLabel(this);
     241        if (m_pLabelRemote)
     242        {
     243            m_pLabelRemote->setAlignment(Qt::AlignRight | Qt::AlignVCenter);
     244            m_pLayoutMain->addWidget(m_pLabelRemote, 8, 0);
     245        }
     246        m_pComboRemote = new QComboBox(this);
     247        if (m_pComboRemote)
     248        {
     249            if (m_pLabelRemote)
     250                m_pLabelRemote->setBuddy(m_pComboRemote);
     251            m_pComboRemote->insertItem(UIMachineSettingsUSB::ModeAny, QString()); /* Any */
     252            m_pComboRemote->insertItem(UIMachineSettingsUSB::ModeOn,  QString()); /* Yes */
     253            m_pComboRemote->insertItem(UIMachineSettingsUSB::ModeOff, QString()); /* No */
     254
     255            m_pLayoutMain->addWidget(m_pComboRemote, 8, 1);
     256        }
     257
     258        m_pButtonBox = new QIDialogButtonBox(this);
     259        if (m_pButtonBox)
     260        {
     261            m_pButtonBox->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok);
     262            m_pLayoutMain->addWidget(m_pButtonBox, 10, 0, 1, 2);
     263        }
     264    }
     265}
     266
     267void UIMachineSettingsUSBFilterDetails::prepareConnections()
     268{
     269    connect(m_pButtonBox, &QIDialogButtonBox::accepted, this, &UIMachineSettingsUSBFilterDetails::accept);
     270    connect(m_pButtonBox, &QIDialogButtonBox::rejected, this, &UIMachineSettingsUSBFilterDetails::reject);
     271}
  • trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsUSBFilterDetails.h

    r85791 r85956  
    3131class QLabel;
    3232class QLineEdit;
     33class QIDialogButtonBox;
    3334
    3435class SHARED_LIBRARY_STUFF UIMachineSettingsUSBFilterDetails : public QIWithRetranslateUI2<QIDialog>
     
    4041    UIMachineSettingsUSBFilterDetails(QWidget *pParent = 0);
    4142
     43protected:
     44
     45    /** Handles translation event. */
     46    virtual void retranslateUi() /* override */;
     47
    4248private:
    4349
     50    /** Prepares all. */
     51    void prepare();
     52    /** Prepares widgets. */
    4453    void prepareWidgets();
    45     void retranslateUi();
     54    /** Prepares connections. */
     55    void prepareConnections();
    4656
    4757    /** @name Widgets
    4858     * @{ */
    49        QComboBox *m_pComboBoxRemote;
    50        QLineEdit *m_pLineEditName;
    51        QLineEdit *m_pLineEditVendorID;
    52        QLineEdit *m_pLineEditProductID;
    53        QLineEdit *m_pLineEditRevision;
    54        QLineEdit *m_pLineEditPort;
    55        QLineEdit *m_pLineEditManufacturer;
    56        QLineEdit *m_pLineEditProduct;
    57        QLineEdit *m_pLineEditSerialNo;
    58        QLabel *m_pLabelPort;
    59        QLabel *m_pLabelRemote;
    60        QLabel *m_pLabelProductID;
    61        QLabel *m_pLabelName;
    62        QLabel *m_pLabelVendorID;
    63        QLabel *m_pLabelRevision;
    64        QLabel *m_pLabelManufacturer;
    65        QLabel *m_pLabelProduct;
    66        QLabel *m_pLabelSerialNo;
    67        QGridLayout *gridLayout;
     59        /** Holds the main layout instance. */
     60        QGridLayout       *m_pLayoutMain;
     61        /** Holds the name label instance. */
     62        QLabel            *m_pLabelName;
     63        /** Holds the name editor instance. */
     64        QLineEdit         *m_pEditorName;
     65        /** Holds the vendor ID label instance. */
     66        QLabel            *m_pLabelVendorID;
     67        /** Holds the vendor ID editor instance. */
     68        QLineEdit         *m_pEditorVendorID;
     69        /** Holds the product ID label instance. */
     70        QLabel            *m_pLabelProductID;
     71        /** Holds the product ID editor instance. */
     72        QLineEdit         *m_pEditorProductID;
     73        /** Holds the revision label instance. */
     74        QLabel            *m_pLabelRevision;
     75        /** Holds the revision editor instance. */
     76        QLineEdit         *m_pEditorRevision;
     77        /** Holds the manufacturer label instance. */
     78        QLabel            *m_pLabelManufacturer;
     79        /** Holds the manufacturer editor instance. */
     80        QLineEdit         *m_pEditorManufacturer;
     81        /** Holds the product label instance. */
     82        QLabel            *m_pLabelProduct;
     83        /** Holds the product editor instance. */
     84        QLineEdit         *m_pEditorProduct;
     85        /** Holds the serial NO label instance. */
     86        QLabel            *m_pLabelSerialNo;
     87        /** Holds the serial NO editor instance. */
     88        QLineEdit         *m_pEditorSerialNo;
     89        /** Holds the port label instance. */
     90        QLabel            *m_pLabelPort;
     91        /** Holds the port editor instance. */
     92        QLineEdit         *m_pEditorPort;
     93        /** Holds the remote label instance. */
     94        QLabel            *m_pLabelRemote;
     95        /** Holds the remote combo instance. */
     96        QComboBox         *m_pComboRemote;
     97        /** Holds the button-box instance. */
     98        QIDialogButtonBox *m_pButtonBox;
    6899    /** @} */
    69100
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