From 76db59ecefa65f2487d2a68225e8c9b3e6d5a405 Mon Sep 17 00:00:00 2001 From: zhangyuanyuan1 Date: Tue, 25 Oct 2022 10:53:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9ADNS=E6=8C=89=E9=92=AE=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E8=B0=83=E6=95=B4=20=E5=88=A0=E9=99=A4=E6=97=A0?= =?UTF-8?q?=E6=95=88=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/netdetails/creatnetpage.cpp | 56 +-------------- src/frontend/netdetails/creatnetpage.h | 4 -- src/frontend/netdetails/ipv4page.cpp | 69 +------------------ src/frontend/netdetails/ipv4page.h | 6 -- src/frontend/netdetails/ipv6page.cpp | 63 +---------------- src/frontend/netdetails/multiplednswidget.cpp | 21 +++--- src/frontend/netdetails/multiplednswidget.h | 4 -- src/frontend/tools/listitemedit.cpp | 2 - src/frontend/tools/listitemedit.h | 3 - 9 files changed, 19 insertions(+), 209 deletions(-) diff --git a/src/frontend/netdetails/creatnetpage.cpp b/src/frontend/netdetails/creatnetpage.cpp index 1126f8f8..ba5d0f98 100644 --- a/src/frontend/netdetails/creatnetpage.cpp +++ b/src/frontend/netdetails/creatnetpage.cpp @@ -36,16 +36,12 @@ void CreatNetPage::initUI() ipv4addressEdit = new LineEdit(this); netMaskEdit = new LineEdit(this); gateWayEdit = new LineEdit(this); -// firstDnsEdit = new LineEdit(this); -// secondDnsEdit = new LineEdit(this); m_connNameLabel = new QLabel(this); m_configLabel = new QLabel(this); m_addressLabel = new QLabel(this); m_maskLabel = new QLabel(this); m_gateWayLabel = new QLabel(this); -// m_dnsLabel = new QLabel(this); -// m_secDnsLabel = new QLabel(this); // IP的正则格式限制 QRegExp rx("\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b"); @@ -56,8 +52,6 @@ void CreatNetPage::initUI() m_addressLabel->setText(tr("Address")); m_maskLabel->setText(tr("Netmask")); m_gateWayLabel->setText(tr("Default Gateway")); -// m_dnsLabel->setText(tr("Prefs DNS")); -// m_secDnsLabel->setText(tr("Alternative DNS")); m_detailLayout = new QFormLayout(this); m_detailLayout->setContentsMargins(0, 0, 0, 0); @@ -67,8 +61,6 @@ void CreatNetPage::initUI() m_detailLayout->addRow(m_addressLabel,ipv4addressEdit); m_detailLayout->addRow(m_maskLabel,netMaskEdit); m_detailLayout->addRow(m_gateWayLabel,gateWayEdit); -// m_detailLayout->addRow(m_dnsLabel,firstDnsEdit); -// m_detailLayout->addRow(m_secDnsLabel,secondDnsEdit); m_detailLayout->addRow(m_dnsWidget); ipv4ConfigCombox->addItem(tr("Auto(DHCP)"), AUTO_CONFIG); //"自动(DHCP)" @@ -77,8 +69,6 @@ void CreatNetPage::initUI() ipv4addressEdit->setValidator(new QRegExpValidator(rx, this)); gateWayEdit->setValidator(new QRegExpValidator(rx, this)); netMaskEdit->setValidator(new QRegExpValidator(rx, this)); -// firstDnsEdit->setValidator(new QRegExpValidator(rx, this)); -// secondDnsEdit->setValidator(new QRegExpValidator(rx, this)); } void CreatNetPage::initComponent() { @@ -93,14 +83,6 @@ void CreatNetPage::initComponent() { connect(ipv4ConfigCombox, SIGNAL(currentIndexChanged(int)), this, SLOT(setEnableOfSaveBtn())); connect(netMaskEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); connect(gateWayEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); -// connect(firstDnsEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); -// connect(secondDnsEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); - connect(m_dnsWidget, &MultipleDnsWidget::dnsTextChanged, this, [=]() { - setCreatePageState(false); - }); - connect(m_dnsWidget, &MultipleDnsWidget::dnsEditingFinished, this, [=]() { - setCreatePageState(true); - }); } bool CreatNetPage::checkConnectBtnIsEnabled() @@ -122,28 +104,6 @@ bool CreatNetPage::checkConnectBtnIsEnabled() qDebug() << "create ipv4 netMask empty or invalid"; return false; } -#if 0 - if (gateWayEdit->text().isEmpty() || !getTextEditState(gateWayEdit->text())) { - qDebug() << "create ipv4 gateway empty or invalid"; - return false; - } - - if (firstDnsEdit->text().isEmpty() && !secondDnsEdit->text().isEmpty()) { - qDebug() << "create ipv4 dns sort invalid"; - return false; - } - - if (!getTextEditState(firstDnsEdit->text())) { - qDebug() << "create ipv4 first dns invalid"; - return false; - } - - if (!getTextEditState(secondDnsEdit->text())) { - qDebug() << "create ipv4 second dns invalid"; - return false; - } -#endif - } return true; } @@ -162,16 +122,12 @@ void CreatNetPage::setLineEnabled(bool check) { ipv4addressEdit->setEnabled(check); netMaskEdit->setEnabled(check); gateWayEdit->setEnabled(check); -// firstDnsEdit->setEnabled(check); -// secondDnsEdit->setEnabled(check); m_dnsWidget->setEditEnabled(check); if (!check) { ipv4addressEdit->clear(); netMaskEdit->clear(); gateWayEdit->clear(); -// firstDnsEdit->clear(); -// secondDnsEdit->clear(); ipv4addressEdit->setPlaceholderText(" "); netMaskEdit->setPlaceholderText(" "); @@ -210,20 +166,14 @@ void CreatNetPage::constructIpv4Info(KyConnectSetting &setting) QStringList dnsList; dnsList.clear(); -#if 0 - if (!firstDnsEdit->text().isEmpty()) { - dnsList << firstDnsEdit->text(); - if (!secondDnsEdit->text().isEmpty()) { - dnsList << secondDnsEdit->text(); - } - } -#endif QList ipv4dnsList; ipv4dnsList.clear(); ipv4dnsList = m_dnsWidget->getDns(); for (QHostAddress str: ipv4dnsList) { - dnsList << str.toString(); + if (!dnsList.contains(str.toString())) { + dnsList << str.toString(); + } } if (ipv4ConfigCombox->currentData() == AUTO_CONFIG) { diff --git a/src/frontend/netdetails/creatnetpage.h b/src/frontend/netdetails/creatnetpage.h index dff50df8..31885b3b 100644 --- a/src/frontend/netdetails/creatnetpage.h +++ b/src/frontend/netdetails/creatnetpage.h @@ -47,8 +47,6 @@ private: LineEdit *ipv4addressEdit; LineEdit *netMaskEdit; LineEdit *gateWayEdit; -// LineEdit *firstDnsEdit; -// LineEdit *secondDnsEdit; QFormLayout *m_detailLayout; QVBoxLayout *mvBoxLayout; @@ -57,8 +55,6 @@ private: QLabel *m_addressLabel; QLabel *m_maskLabel; QLabel *m_gateWayLabel; -// QLabel *m_dnsLabel; -// QLabel *m_secDnsLabel; MultipleDnsWidget *m_dnsWidget = nullptr; private: diff --git a/src/frontend/netdetails/ipv4page.cpp b/src/frontend/netdetails/ipv4page.cpp index 63553223..8e0bae39 100644 --- a/src/frontend/netdetails/ipv4page.cpp +++ b/src/frontend/netdetails/ipv4page.cpp @@ -39,15 +39,11 @@ void Ipv4Page::initUI() { ipv4addressEdit = new LineEdit(this); netMaskEdit = new LineEdit(this); gateWayEdit = new LineEdit(this); -// firstDnsEdit = new LineEdit(this); -// secondDnsEdit = new LineEdit(this); m_configLabel = new QLabel(this); m_addressLabel = new QLabel(this); m_maskLabel = new QLabel(this); m_gateWayLabel = new QLabel(this); -// m_dnsLabel = new QLabel(this); -// m_secDnsLabel = new QLabel(this); m_configEmptyLabel = new QLabel(this); m_configEmptyLabel->setFixedHeight(LABEL_HEIGHT); @@ -68,8 +64,6 @@ void Ipv4Page::initUI() { m_addressLabel->setText(tr("Address")); m_maskLabel->setText(tr("Netmask")); m_gateWayLabel->setText(tr("Default Gateway")); -// m_dnsLabel->setText(tr("Prefs DNS")); -// m_secDnsLabel->setText(tr("Alternative DNS")); m_statusLabel = new QLabel(this); m_statusLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); @@ -109,8 +103,6 @@ void Ipv4Page::initUI() { m_detailLayout->addRow(m_maskLabel,maskWidget); m_detailLayout->addRow(m_gateWayLabel,gateWayEdit); m_detailLayout->addRow(m_gateWayEmptyLabel); -// m_detailLayout->addRow(m_dnsLabel,firstDnsEdit); -// m_detailLayout->addRow(m_secDnsLabel,secondDnsEdit); m_detailLayout->addRow(m_dnsWidget); ipv4ConfigCombox->addItem(tr("Auto(DHCP)")); //"自动(DHCP)" @@ -127,8 +119,6 @@ void Ipv4Page::initUI() { ipv4addressEdit->setValidator(new QRegExpValidator(rx, this)); gateWayEdit->setValidator(new QRegExpValidator(rx, this)); netMaskEdit->setValidator(new QRegExpValidator(rx, this)); -// firstDnsEdit->setValidator(new QRegExpValidator(rx, this)); -// secondDnsEdit->setValidator(new QRegExpValidator(rx, this)); initLoadingIcon(); } @@ -149,14 +139,6 @@ void Ipv4Page::initComponent() { connect(ipv4addressEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); connect(netMaskEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); connect(gateWayEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); -// connect(firstDnsEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); -// connect(secondDnsEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); - connect(m_dnsWidget, &MultipleDnsWidget::dnsTextChanged, this, [=]() { - setIpv4PageState(false); - }); - connect(m_dnsWidget, &MultipleDnsWidget::dnsEditingFinished, this, [=]() { - setIpv4PageState(true); - }); } void Ipv4Page::setIpv4Config(KyIpConfigType ipv4Config) @@ -183,18 +165,6 @@ void Ipv4Page::setMulDns(const QList &dns) m_dnsWidget->setDnsListText(dns); } -#if 0 -void Ipv4Page::setIpv4FirDns(const QString &ipv4FirDns) -{ - firstDnsEdit->setText(ipv4FirDns); -} - -void Ipv4Page::setIpv4SecDns(const QString &ipv4SecDns) -{ - secondDnsEdit->setText(ipv4SecDns); -} -#endif - void Ipv4Page::setGateWay(const QString &gateWay) { gateWayEdit->setText(gateWay); @@ -231,24 +201,17 @@ bool Ipv4Page::checkIsChanged(const ConInfo info, KyConnectSetting &setting) if(info.strIPV4Address != ipv4addressEdit->text() || info.strIPV4NetMask != /*netMaskEdit->text()*/getNetMaskText(netMaskEdit->text()) || info.strIPV4GateWay != gateWayEdit->text() -// || info.strIPV4FirDns != firstDnsEdit->text() -// || info.strIPV4SecDns != secondDnsEdit->text() || info.ipv4DnsList != ipv4dnsList) { qDebug() << "ipv4 info changed"; QStringList dnsList; dnsList.clear(); for (QHostAddress str: ipv4dnsList) { - dnsList << str.toString(); - } -#if 0 - if (!firstDnsEdit->text().isEmpty()) { - dnsList << firstDnsEdit->text(); - if (!secondDnsEdit->text().isEmpty()) { - dnsList << secondDnsEdit->text(); + if (!dnsList.contains(str.toString())) { + dnsList << str.toString(); } } -#endif + QString ipv4address =ipv4addressEdit->text(); QString netMask = getNetMaskText(netMaskEdit->text()); QString gateWay = gateWayEdit->text(); @@ -276,28 +239,6 @@ bool Ipv4Page::checkConnectBtnIsEnabled() qDebug() << "ipv4 netMask empty or invalid"; return false; } - -// if (gateWayEdit->text().isEmpty() || !getTextEditState(gateWayEdit->text())) { -// qDebug() << "ipv4 gateway empty or invalid"; -// return false; -// } -#if 0 - if (firstDnsEdit->text().isEmpty() && !secondDnsEdit->text().isEmpty()) { - qDebug() << "ipv4 dns sort invalid"; - return false; - } - - if (!getTextEditState(firstDnsEdit->text())) { - qDebug() << "ipv4 first dns invalid"; - return false; - } - - if (!getTextEditState(secondDnsEdit->text())) { - qDebug() << "ipv4 second dns invalid"; - return false; - } -#endif - } return true; } @@ -347,8 +288,6 @@ void Ipv4Page::setLineEnabled(bool check) { ipv4addressEdit->clear(); netMaskEdit->clear(); gateWayEdit->clear(); -// firstDnsEdit->clear(); -// secondDnsEdit->clear(); ipv4addressEdit->setPlaceholderText(" "); netMaskEdit->setPlaceholderText(" "); @@ -361,8 +300,6 @@ void Ipv4Page::setLineEnabled(bool check) { ipv4addressEdit->setEnabled(check); netMaskEdit->setEnabled(check); gateWayEdit->setEnabled(check); -// firstDnsEdit->setEnabled(check); -// secondDnsEdit->setEnabled(check); m_dnsWidget->setEditEnabled(check); } diff --git a/src/frontend/netdetails/ipv4page.h b/src/frontend/netdetails/ipv4page.h index 134b4bef..f25148fd 100644 --- a/src/frontend/netdetails/ipv4page.h +++ b/src/frontend/netdetails/ipv4page.h @@ -43,8 +43,6 @@ public: void setIpv4Config(KyIpConfigType ipv4Config); void setIpv4(const QString &ipv4); void setNetMask(const QString &netMask); -// void setIpv4FirDns(const QString &ipv4FirDns); -// void setIpv4SecDns(const QString &ipv4SecDns); void setMulDns(const QList &dns); void setGateWay(const QString &gateWay); @@ -59,8 +57,6 @@ private: LineEdit *ipv4addressEdit; LineEdit *netMaskEdit; LineEdit *gateWayEdit; -// LineEdit *firstDnsEdit; -// LineEdit *secondDnsEdit; QFormLayout *m_detailLayout; QVBoxLayout *mvBoxLayout; @@ -68,8 +64,6 @@ private: QLabel *m_addressLabel; QLabel *m_maskLabel; QLabel *m_gateWayLabel; -// QLabel *m_dnsLabel; -// QLabel *m_secDnsLabel; QLabel *m_configEmptyLabel; QLabel *m_addressHintLabel; diff --git a/src/frontend/netdetails/ipv6page.cpp b/src/frontend/netdetails/ipv6page.cpp index 66d0e9ad..a08fa73b 100644 --- a/src/frontend/netdetails/ipv6page.cpp +++ b/src/frontend/netdetails/ipv6page.cpp @@ -57,18 +57,6 @@ void Ipv6Page::setMulDns(const QList &dns) m_dnsWidget->setDnsListText(dns); } -#if 0 -void Ipv6Page::setIpv6FirDns(const QString &ipv6FirDns) -{ - firstDnsEdit->setText(ipv6FirDns); -} - -void Ipv6Page::setIpv6SecDns(const QString &ipv6SecDns) -{ - secondDnsEdit->setText(ipv6SecDns); -} -#endif - void Ipv6Page::setGateWay(const QString &gateWay) { gateWayEdit->setText(gateWay); @@ -102,24 +90,17 @@ bool Ipv6Page::checkIsChanged(const ConInfo info, KyConnectSetting &setting) if(info.strIPV6Address != ipv6AddressEdit->text() || info.iIPV6Prefix != lengthEdit->text().toInt() || info.strIPV6GateWay != gateWayEdit->text() -// || info.strIPV6FirDns != firstDnsEdit->text() -// || info.strIPV6SecDns != secondDnsEdit->text() || info.ipv6DnsList != ipv6dnsList) { qDebug() << "ipv6 info changed"; QStringList dnsList; dnsList.clear(); for (QHostAddress str: ipv6dnsList) { - dnsList << str.toString(); - } -#if 0 - if (!firstDnsEdit->text().isEmpty()) { - dnsList << firstDnsEdit->text(); - if (!secondDnsEdit->text().isEmpty()) { - dnsList << secondDnsEdit->text(); + if (!dnsList.contains(str.toString())) { + dnsList << str.toString(); } } -#endif + QString ipv6address =ipv6AddressEdit->text(); QString prefix = lengthEdit->text(); QString gateWay = gateWayEdit->text(); @@ -136,15 +117,11 @@ void Ipv6Page::initUI() { ipv6AddressEdit = new LineEdit(this); lengthEdit = new LineEdit(this); gateWayEdit = new LineEdit(this); -// firstDnsEdit = new LineEdit(this); -// secondDnsEdit = new LineEdit(this); m_configLabel = new QLabel(this); m_addressLabel = new QLabel(this); m_subnetLabel = new QLabel(this); m_gateWayLabel = new QLabel(this); -// m_dnsLabel = new QLabel(this); -// m_secDnsLabel = new QLabel(this); m_configEmptyLabel = new QLabel(this); m_configEmptyLabel->setFixedHeight(LABEL_HEIGHT); @@ -165,8 +142,6 @@ void Ipv6Page::initUI() { m_addressLabel->setText(tr("Address")); m_subnetLabel->setText(tr("Subnet prefix Length")); m_gateWayLabel->setText(tr("Default Gateway")); -// m_dnsLabel->setText(tr("Prefs DNS")); -// m_secDnsLabel->setText(tr("Alternative DNS")); m_statusLabel = new QLabel(this); m_statusLabel->setAlignment(Qt::AlignRight | Qt::AlignVCenter); @@ -205,8 +180,6 @@ void Ipv6Page::initUI() { m_detailLayout->addRow(m_subnetLabel,lengthEdit); m_detailLayout->addRow(m_subnetEmptyLabel); m_detailLayout->addRow(m_gateWayLabel,gateWayWidget); -// m_detailLayout->addRow(m_dnsLabel,firstDnsEdit); -// m_detailLayout->addRow(m_secDnsLabel,secondDnsEdit); m_detailLayout->addRow(m_dnsWidget); ipv6ConfigCombox->addItem(tr("Auto(DHCP)")); //"自动(DHCP)" @@ -214,8 +187,6 @@ void Ipv6Page::initUI() { ipv6AddressEdit->setValidator(new QRegExpValidator(ipv6_rx, this)); gateWayEdit->setValidator(new QRegExpValidator(ipv6_rx, this)); -// firstDnsEdit->setValidator(new QRegExpValidator(ipv6_rx, this)); -// secondDnsEdit->setValidator(new QRegExpValidator(ipv6_rx, this)); QRegExp prefix_rx("\\b(?:(?:12[0-8]|1[0-1][0-9]|^[1-9][0-9]?$)\\.){3}(?:12[0-8]|1[0-1][0-9]|^[1-9][0-9]?$)\\b"); lengthEdit->setValidator(new QRegExpValidator(prefix_rx,this)); @@ -239,14 +210,6 @@ void Ipv6Page::initComponent() { connect(ipv6AddressEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); connect(lengthEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); connect(gateWayEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); -// connect(firstDnsEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); -// connect(secondDnsEdit, SIGNAL(textChanged(QString)), this, SLOT(setEnableOfSaveBtn())); - connect(m_dnsWidget, &MultipleDnsWidget::dnsTextChanged, this, [=]() { - setIpv6PageState(false); - }); - connect(m_dnsWidget, &MultipleDnsWidget::dnsEditingFinished, this, [=]() { - setIpv6PageState(true); - }); } void Ipv6Page::configChanged(int index) { @@ -264,8 +227,6 @@ void Ipv6Page::setControlEnabled(bool check) ipv6AddressEdit->clear(); lengthEdit->clear(); gateWayEdit->clear(); -// firstDnsEdit->clear(); -// secondDnsEdit->clear(); ipv6AddressEdit->setPlaceholderText(" "); lengthEdit->setPlaceholderText(" "); @@ -279,8 +240,6 @@ void Ipv6Page::setControlEnabled(bool check) ipv6AddressEdit->setEnabled(check); lengthEdit->setEnabled(check); gateWayEdit->setEnabled(check); -// firstDnsEdit->setEnabled(check); -// secondDnsEdit->setEnabled(check); m_dnsWidget->setEditEnabled(check); } @@ -338,22 +297,6 @@ bool Ipv6Page::checkConnectBtnIsEnabled() qDebug() << "ipv6 gateway empty or invalid"; return false; } -#if 0 - if (firstDnsEdit->text().isEmpty() && !secondDnsEdit->text().isEmpty()) { - qDebug() << "ipv6 dns sort invalid"; - return false; - } - - if (!getIpv6EditState(firstDnsEdit->text())) { - qDebug() << "ipv6 first dns invalid"; - return false; - } - - if (!getIpv6EditState(secondDnsEdit->text())) { - qDebug() << "ipv6 second dns invalid"; - return false; - } -#endif } return true; } diff --git a/src/frontend/netdetails/multiplednswidget.cpp b/src/frontend/netdetails/multiplednswidget.cpp index 55aca598..da98d039 100644 --- a/src/frontend/netdetails/multiplednswidget.cpp +++ b/src/frontend/netdetails/multiplednswidget.cpp @@ -86,8 +86,6 @@ void MultipleDnsWidget::initComponent() item->setFlags(item->flags() | Qt::ItemIsEditable); ListItemEdit *dnsListItemEdit = new ListItemEdit(m_regExp); m_dnsListWidget ->setItemDelegateForRow(m_dnsListWidget->currentIndex().row(), dnsListItemEdit); - connect(dnsListItemEdit, SIGNAL(textChanged(QString)), this, SIGNAL(dnsTextChanged(QString))); - connect(dnsListItemEdit, SIGNAL(editingFinished()), this, SIGNAL(dnsEditingFinished())); }); } @@ -110,7 +108,7 @@ QList MultipleDnsWidget::getDns() const QString aDns; while (m_dnsListWidget->count() > row) { aDns = m_dnsListWidget->item(row)->text(); - if (!dnsList.contains(aDns)) { + if (!dnsList.contains(aDns) && !aDns.isEmpty()) { dnsList << aDns; ipv4dnsList << QHostAddress(aDns); } @@ -140,9 +138,6 @@ void MultipleDnsWidget::AddOneDnsItem(QListWidget *listWidget) ListItemEdit *dnsListItemEdit = new ListItemEdit(m_regExp); listWidget->setItemDelegateForRow(listWidget->currentIndex().row() , dnsListItemEdit); listWidget->editItem(dnsListWidgetItem); - - connect(dnsListItemEdit, SIGNAL(textChanged(QString)), this, SIGNAL(dnsTextChanged(QString))); - connect(dnsListItemEdit, SIGNAL(editingFinished()), this, SIGNAL(dnsEditingFinished())); } void MultipleDnsWidget::RemoveOneDnsItem(QListWidgetItem *aItem, QListWidget *listWidget) @@ -164,15 +159,19 @@ void MultipleDnsWidget::setDnsListWidgetStyle() void MultipleDnsWidget::onAddBtnClicked() { + AddOneDnsItem(m_dnsListWidget); + //避免重复添加空白项 - if (m_dnsListWidget->currentItem()) { - if (m_dnsListWidget->currentItem()->text().isEmpty()) { - m_dnsListWidget->removeItemWidget(m_dnsListWidget->currentItem()); - delete m_dnsListWidget->currentItem(); + int row = m_dnsListWidget->count() - 1; + while (row >= 0) { + if (!m_dnsListWidget->item(row)->isSelected() + && m_dnsListWidget->item(row)->text().isEmpty()) { + m_dnsListWidget->removeItemWidget(m_dnsListWidget->item(row)); + delete m_dnsListWidget->item(row); } + row --; } - AddOneDnsItem(m_dnsListWidget); m_removeDnsBtn->setEnabled(true); } diff --git a/src/frontend/netdetails/multiplednswidget.h b/src/frontend/netdetails/multiplednswidget.h index 8a4ef1c4..5b32dd53 100644 --- a/src/frontend/netdetails/multiplednswidget.h +++ b/src/frontend/netdetails/multiplednswidget.h @@ -61,10 +61,6 @@ private Q_SLOTS: void setDnsListWidgetStyle(); void onAddBtnClicked(); void onRemoveBtnClicked(); - -Q_SIGNALS: - void dnsTextChanged(const QString &); - void dnsEditingFinished(); }; #endif // MULTIPLEDNSWIDGET_H diff --git a/src/frontend/tools/listitemedit.cpp b/src/frontend/tools/listitemedit.cpp index af232060..4d47a2d0 100644 --- a/src/frontend/tools/listitemedit.cpp +++ b/src/frontend/tools/listitemedit.cpp @@ -30,8 +30,6 @@ QWidget *ListItemEdit::createEditor(QWidget *parent, const QStyleOptionViewItem { QLineEdit *editor = new QLineEdit(parent); editor->setValidator(new QRegExpValidator(m_regExp, parent)); - connect(editor, SIGNAL(textChanged(QString)), this, SIGNAL(textChanged(QString))); - connect(editor, SIGNAL(editingFinished()), this, SIGNAL(editingFinished())); return editor; } diff --git a/src/frontend/tools/listitemedit.h b/src/frontend/tools/listitemedit.h index e6614099..901b51a6 100644 --- a/src/frontend/tools/listitemedit.h +++ b/src/frontend/tools/listitemedit.h @@ -44,9 +44,6 @@ public: private: QRegExp m_regExp; -Q_SIGNALS: - void textChanged(const QString &); - void editingFinished(); }; #endif // LISTITEMEDIT_H