#include "GetIPDialog.h" #include #include #include #include "components/ULineEdit.h" #include "device/networkmanager.h" GetIPDialog::GetIPDialog(QWidget* parent, Qt::WindowFlags f) : GUIFormBaseDialog(parent, f) , mIp(new ULineEdit(this)) , mMask(new ULineEdit(this)) , mLabelError(new QLabel(this)) { setWindowModality(Qt::WindowModal); QFormLayout* formLayout = new QFormLayout(mFormWidget); QLabel* IpValue = new QLabel(tr("IP Address")); formLayout->addRow(IpValue, mIp); QLabel* maskValue = new QLabel(tr("Netmask")); formLayout->addRow(maskValue, mMask); mLabelError->setObjectName(QString::fromUtf8("warn")); formLayout->addRow("", mLabelError); //set ip input restrictions QRegularExpression regex("^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)$"); QRegularExpressionValidator* validator = new QRegularExpressionValidator(regex, this); mIp->setValidator(validator); mMask->setValidator(validator); } GetIPDialog::~GetIPDialog() { } QStringList GetIPDialog::getList()const { return QStringList() << mIp->text() << mMask->text(); } void GetIPDialog::setList(const QStringList& list) { if (!list.empty()) { mIp->setText(list[0]); mMask->setText(list[1]); } } bool GetIPDialog::updateReferenceData() { if (!NetworkManager::validate(mIp->text())) { mLabelError->setText(tr("Wrong IP!")); return false; } if (!NetworkManager::validate(mMask->text())) { mLabelError->setText(tr("Wrong Netmask!")); return false; } return true; }