void UIMachineSettingsNetwork::sltHandleAlternativeNameChange() { /* Remember new name if its changed, * Call for other pages update, if necessary: */ switch (attachmentType()) { case KNetworkAttachmentType_Bridged: { QString newName(m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() == QString(pEmptyItemCode) || m_pAdapterNameCombo->currentText().isEmpty() ? QString() : m_pAdapterNameCombo->currentText()); if (m_strBridgedAdapterName != newName) m_strBridgedAdapterName = newName; break; } case KNetworkAttachmentType_Internal: { QString newName((m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() == QString(pEmptyItemCode) && m_pAdapterNameCombo->currentText() == m_pAdapterNameCombo->itemText(m_pAdapterNameCombo->currentIndex())) || m_pAdapterNameCombo->currentText().isEmpty() ? QString() : m_pAdapterNameCombo->currentText()); if (m_strInternalNetworkName != newName) { m_strInternalNetworkName = newName; if (!m_strInternalNetworkName.isNull()) emit sigTabUpdated(); } break; } case KNetworkAttachmentType_HostOnly: { QString newName(m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() == QString(pEmptyItemCode) || m_pAdapterNameCombo->currentText().isEmpty() ? QString() : m_pAdapterNameCombo->currentText()); if (m_strHostInterfaceName != newName) m_strHostInterfaceName = newName; break; } case KNetworkAttachmentType_Generic: { QString newName((m_pAdapterNameCombo->itemData(m_pAdapterNameCombo->currentIndex()).toString() == QString(pEmptyItemCode) && m_pAdapterNameCombo->currentText() == m_pAdapterNameCombo->itemText(m_pAdapterNameCombo->currentIndex())) || m_pAdapterNameCombo->currentText().isEmpty() ? QString() : m_pAdapterNameCombo->currentText()); if (m_strGenericDriverName != newName) { m_strGenericDriverName = newName; if (!m_strGenericDriverName.isNull()) emit sigTabUpdated(); } break; } default: break; } /* Revalidate if possible: */ if (m_pValidator) m_pValidator->revalidate(); }
UIMachineSettingsNetwork::UIMachineSettingsNetwork(UIMachineSettingsNetworkPage *pParent) : QIWithRetranslateUI<QWidget>(0) , m_pParent(pParent) , m_iSlot(-1) { /* Apply UI decorations: */ Ui::UIMachineSettingsNetwork::setupUi(this); /* Setup widgets: */ m_pAdapterNameCombo->setInsertPolicy(QComboBox::NoInsert); m_pMACEditor->setValidator(new QRegExpValidator(QRegExp("[0-9A-Fa-f]{12}"), this)); m_pMACEditor->setMinimumWidthByText(QString().fill('0', 12)); /* Setup connections: */ connect(m_pEnableAdapterCheckBox, SIGNAL(toggled(bool)), this, SLOT(sltHandleAdapterActivityChange())); connect(m_pAttachmentTypeComboBox, SIGNAL(activated(int)), this, SLOT(sltHandleAttachmentTypeChange())); connect(m_pAdapterNameCombo, SIGNAL(activated(int)), this, SLOT(sltHandleAlternativeNameChange())); connect(m_pAdapterNameCombo, SIGNAL(editTextChanged(const QString&)), this, SLOT(sltHandleAlternativeNameChange())); connect(m_pAdvancedArrow, SIGNAL(clicked()), this, SLOT(sltHandleAdvancedButtonStateChange())); connect(m_pMACButton, SIGNAL(clicked()), this, SLOT(sltGenerateMac())); connect(m_pPortForwardingButton, SIGNAL(clicked()), this, SLOT(sltOpenPortForwardingDlg())); connect(this, SIGNAL(sigTabUpdated()), m_pParent, SLOT(sltHandleUpdatedTab())); /* Prepare validation: */ prepareValidation(); /* Applying language settings: */ retranslateUi(); }