Changeset 85750 in vbox for trunk/src/VBox
- Timestamp:
- Aug 13, 2020 12:35:10 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 139898
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 1 deleted
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/VBoxUI.pro
r85727 r85750 34 34 src/settings/machine/UIMachineSettingsGeneral.ui \ 35 35 src/settings/machine/UIMachineSettingsNetwork.ui \ 36 src/settings/machine/UIMachineSettingsSerial.ui \37 36 src/settings/machine/UIMachineSettingsUSB.ui \ 38 37 src/settings/machine/UIMachineSettingsUSBFilterDetails.ui -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp
r82968 r85750 17 17 18 18 /* Qt includes: */ 19 #include <QCheckBox> 20 #include <QComboBox> 19 21 #include <QDir> 22 #include <QGridLayout> 23 #include <QLabel> 24 #include <QLineEdit> 20 25 21 26 /* GUI includes: */ … … 95 100 96 101 /** Machine settings: Serial Port tab. */ 97 class UIMachineSettingsSerial : public QIWithRetranslateUI<QWidget>, 98 public Ui::UIMachineSettingsSerial 102 class UIMachineSettingsSerial : public QIWithRetranslateUI<QWidget> 99 103 { 100 104 Q_OBJECT; … … 127 131 private: 128 132 133 /* Prepares widgets: */ 134 void prepareWidgets(); 135 129 136 /* Helper: Prepare stuff: */ 130 137 void prepareValidation(); … … 140 147 /** Holds the port mode. */ 141 148 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; 142 167 }; 143 168 … … 152 177 , m_iSlot(-1) 153 178 , 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(); 157 193 158 194 /* Setup validation: */ 159 m LeIRQ->setValidator(new QIULongValidator(0, 255, this));160 m LeIOPort->setValidator(new QIULongValidator(0, 0xFFFF, this));161 m LePath->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)); 162 198 163 199 /* Setup constraints: */ 164 m LeIRQ->setFixedWidth(mLeIRQ->fontMetrics().width("8888"));165 m LeIOPort->setFixedWidth(mLeIOPort->fontMetrics().width("8888888"));200 m_pLineEditIRQ->setFixedWidth(m_pLineEditIRQ->fontMetrics().width("8888")); 201 m_pLineEditIOPort->setFixedWidth(m_pLineEditIOPort->fontMetrics().width("8888888")); 166 202 167 203 /* Set initial values: */ 168 204 /* Note: If you change one of the following don't forget retranslateUi. */ 169 m CbNumber->insertItem(0, uiCommon().toCOMPortName(0, 0));170 m CbNumber->insertItems(0, uiCommon().COMPortNames());205 m_ComboBoxNumber->insertItem(0, uiCommon().toCOMPortName(0, 0)); 206 m_ComboBoxNumber->insertItems(0, uiCommon().COMPortNames()); 171 207 172 208 /* Setup connections: */ 173 connect(m GbSerial, &QCheckBox::toggled,209 connect(m_pCheckBoxSerial, &QCheckBox::toggled, 174 210 this, &UIMachineSettingsSerial::sltGbSerialToggled); 175 connect(m CbNumber, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::activated),211 connect(m_ComboBoxNumber, static_cast<void(QComboBox::*)(const QString&)>(&QComboBox::activated), 176 212 this, &UIMachineSettingsSerial::sltCbNumberActivated); 177 connect(m CbMode, static_cast<void(QComboBox::*)(int)>(&QComboBox::activated),213 connect(m_pComboBoxMode, static_cast<void(QComboBox::*)(int)>(&QComboBox::activated), 178 214 this, &UIMachineSettingsSerial::sltHandlePortModeChange); 179 215 … … 185 221 } 186 222 223 void 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 187 310 void UIMachineSettingsSerial::polishTab() 188 311 { 189 312 /* Polish port page: */ 190 313 ulong uIRQ, uIOBase; 191 const bool fStd = uiCommon().toCOMPortNumbers(m CbNumber->currentText(), uIRQ, uIOBase);192 const KPortMode enmMode = m CbMode->currentData().value<KPortMode>();193 m GbSerial->setEnabled(m_pParent->isMachineOffline());194 m LbNumber->setEnabled(m_pParent->isMachineOffline());195 m CbNumber->setEnabled(m_pParent->isMachineOffline());196 m LbIRQ->setEnabled(m_pParent->isMachineOffline());197 m LeIRQ->setEnabled(!fStd && m_pParent->isMachineOffline());198 m LbIOPort->setEnabled(m_pParent->isMachineOffline());199 m LeIOPort->setEnabled(!fStd && m_pParent->isMachineOffline());200 m LbMode->setEnabled(m_pParent->isMachineOffline());201 m CbMode->setEnabled(m_pParent->isMachineOffline());202 m CbPipe->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) 203 326 && m_pParent->isMachineOffline()); 204 m LbPath->setEnabled( enmMode != KPortMode_Disconnected327 m_pLabelPath->setEnabled( enmMode != KPortMode_Disconnected 205 328 && m_pParent->isMachineOffline()); 206 m LePath->setEnabled( enmMode != KPortMode_Disconnected329 m_pLineEditPath->setEnabled( enmMode != KPortMode_Disconnected 207 330 && m_pParent->isMachineOffline()); 208 331 } … … 214 337 215 338 /* Load port data: */ 216 m GbSerial->setChecked(portData.m_fPortEnabled);217 m CbNumber->setCurrentIndex(mCbNumber->findText(uiCommon().toCOMPortName(portData.m_uIRQ, portData.m_uIOBase)));218 m LeIRQ->setText(QString::number(portData.m_uIRQ));219 m LeIOPort->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()); 220 343 m_enmPortMode = portData.m_hostMode; 221 m CbPipe->setChecked(!portData.m_fServer);222 m LePath->setText(portData.m_strPath);344 m_pComboBoxPipe->setChecked(!portData.m_fServer); 345 m_pLineEditPath->setText(portData.m_strPath); 223 346 224 347 /* Repopulate combo-boxes content: */ 225 348 populateComboboxes(); 226 349 /* Ensure everything is up-to-date */ 227 sltGbSerialToggled(m GbSerial->isChecked());350 sltGbSerialToggled(m_pCheckBoxSerial->isChecked()); 228 351 } 229 352 … … 231 354 { 232 355 /* Save port data: */ 233 portData.m_fPortEnabled = m GbSerial->isChecked();234 portData.m_uIRQ = m LeIRQ->text().toULong(NULL, 0);235 portData.m_uIOBase = m LeIOPort->text().toULong(NULL, 0);236 portData.m_fServer = !m CbPipe->isChecked();237 portData.m_hostMode = m CbMode->currentData().value<KPortMode>();238 portData.m_strPath = QDir::toNativeSeparators(m LePath->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()); 239 362 } 240 363 241 364 QWidget *UIMachineSettingsSerial::setOrderAfter(QWidget *pAfter) 242 365 { 243 setTabOrder(pAfter, m GbSerial);244 setTabOrder(m GbSerial, mCbNumber);245 setTabOrder(m CbNumber, mLeIRQ);246 setTabOrder(m LeIRQ, mLeIOPort);247 setTabOrder(m LeIOPort, mCbMode);248 setTabOrder(m CbMode, mCbPipe);249 setTabOrder(m CbPipe, mLePath);250 return m LePath;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; 251 374 } 252 375 … … 259 382 { 260 383 ulong a, b; 261 return !uiCommon().toCOMPortNumbers(m CbNumber->currentText(), a, b);384 return !uiCommon().toCOMPortNumbers(m_ComboBoxNumber->currentText(), a, b); 262 385 } 263 386 264 387 void UIMachineSettingsSerial::retranslateUi() 265 388 { 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)); 270 417 271 418 /* Translate combo-boxes content: */ … … 277 424 if (fOn) 278 425 { 279 sltCbNumberActivated(m CbNumber->currentText());280 sltHandlePortModeChange(m CbMode->currentIndex());426 sltCbNumberActivated(m_ComboBoxNumber->currentText()); 427 sltHandlePortModeChange(m_pComboBoxMode->currentIndex()); 281 428 } 282 429 … … 290 437 bool fStd = uiCommon().toCOMPortNumbers(strText, uIRQ, uIOBase); 291 438 292 m LeIRQ->setEnabled(!fStd);293 m LeIOPort->setEnabled(!fStd);439 m_pLineEditIRQ->setEnabled(!fStd); 440 m_pLineEditIOPort->setEnabled(!fStd); 294 441 if (fStd) 295 442 { 296 m LeIRQ->setText(QString::number(uIRQ));297 m LeIOPort->setText("0x" + QString::number(uIOBase, 16).toUpper());443 m_pLineEditIRQ->setText(QString::number(uIRQ)); 444 m_pLineEditIOPort->setText("0x" + QString::number(uIOBase, 16).toUpper()); 298 445 } 299 446 … … 304 451 void UIMachineSettingsSerial::sltHandlePortModeChange(int iIndex) 305 452 { 306 const KPortMode enmMode = m CbMode->itemData(iIndex).value<KPortMode>();307 m CbPipe->setEnabled(enmMode == KPortMode_HostPipe || enmMode == KPortMode_TCP);308 m LePath->setEnabled(enmMode != KPortMode_Disconnected);309 m LbPath->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); 310 457 311 458 /* Revalidate: */ … … 316 463 { 317 464 /* Prepare validation: */ 318 connect(m LeIRQ, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);319 connect(m LeIOPort, &QLineEdit::textChanged, m_pParent, &UIMachineSettingsSerialPage::revalidate);320 connect(m LePath, &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); 321 468 } 322 469 … … 326 473 { 327 474 /* Clear the port mode combo-box: */ 328 m CbMode->clear();475 m_pComboBoxMode->clear(); 329 476 330 477 /* Load currently supported port moded: */ … … 339 486 foreach (const KPortMode &enmMode, supportedModes) 340 487 { 341 m CbMode->insertItem(iPortModeIndex, gpConverter->toString(enmMode));342 m CbMode->setItemData(iPortModeIndex, QVariant::fromValue(enmMode));343 m CbMode->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); 344 491 ++iPortModeIndex; 345 492 } 346 493 347 494 /* Choose requested port mode: */ 348 const int iIndex = m CbMode->findData(m_enmPortMode);349 m CbMode->setCurrentIndex(iIndex != -1 ? iIndex : 0);495 const int iIndex = m_pComboBoxMode->findData(m_enmPortMode); 496 m_pComboBoxMode->setCurrentIndex(iIndex != -1 ? iIndex : 0); 350 497 } 351 498 } … … 499 646 QWidget *pTab = m_pTabWidget->widget(iIndex); 500 647 UIMachineSettingsSerial *pPage = static_cast<UIMachineSettingsSerial*>(pTab); 501 if (!pPage->m GbSerial->isChecked())648 if (!pPage->m_pCheckBoxSerial->isChecked()) 502 649 continue; 503 650 … … 507 654 508 655 /* Check the port attribute emptiness & uniqueness: */ 509 const QString strIRQ(pPage->m LeIRQ->text());510 const QString strIOPort(pPage->m LeIOPort->text());656 const QString strIRQ(pPage->m_pLineEditIRQ->text()); 657 const QString strIOPort(pPage->m_pLineEditIOPort->text()); 511 658 const QPair<QString, QString> pair(strIRQ, strIOPort); 512 659 … … 529 676 ports << pair; 530 677 531 const KPortMode enmMode = pPage->m CbMode->currentData().value<KPortMode>();678 const KPortMode enmMode = pPage->m_pComboBoxMode->currentData().value<KPortMode>(); 532 679 if (enmMode != KPortMode_Disconnected) 533 680 { 534 const QString strPath(pPage->m LePath->text());681 const QString strPath(pPage->m_pLineEditPath->text()); 535 682 536 683 if (strPath.isEmpty()) -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.h
r82968 r85750 24 24 /* GUI includes: */ 25 25 #include "UISettingsPage.h" 26 #include "UIMachineSettingsSerial.gen.h"27 26 28 27 /* Forward declarations: */
Note:
See TracChangeset
for help on using the changeset viewer.