diff options
| author | Anton <anton@picapica> | 2017-12-01 04:14:09 +0400 |
|---|---|---|
| committer | Anton <anton@picapica> | 2017-12-01 04:14:09 +0400 |
| commit | 8bb59811285b17d9b81baac60bb214efe434fb03 (patch) | |
| tree | 903ccc69b032ccc8412340ef8543bf53841e5723 | |
| parent | c2f8b64da40dd73f75230f18816578a2cc8c1b9a (diff) | |
| download | pica-pica-8bb59811285b17d9b81baac60bb214efe434fb03.tar.gz pica-pica-8bb59811285b17d9b81baac60bb214efe434fb03.zip | |
pica-client: combobox for incoming direct connections address in settings dialog
| -rw-r--r-- | pica-client/dialogs/settingsdialog.cpp | 13 | ||||
| -rw-r--r-- | pica-client/dialogs/settingsdialog.h | 3 |
2 files changed, 9 insertions, 7 deletions
diff --git a/pica-client/dialogs/settingsdialog.cpp b/pica-client/dialogs/settingsdialog.cpp index 7300d75..852cc95 100644 --- a/pica-client/dialogs/settingsdialog.cpp +++ b/pica-client/dialogs/settingsdialog.cpp @@ -32,24 +32,26 @@ SettingsDialog::SettingsDialog(QWidget *parent) : connect(rbEnableIncomingConns, SIGNAL(toggled(bool)), this, SLOT(toggleIncomingConnections(bool))); QLabel *lbAddr = new QLabel(tr("Public address for incoming connections"), this); - addr = new QLineEdit(tr("0.0.0.0"), this); + addr = new QComboBox(this); QLabel *lbPubPort = new QLabel(tr("External TCP port for incoming connections"), this); publicPort = new QSpinBox(this); QLabel *lbLocPort = new QLabel(tr("Local TCP port for incoming connections"), this); localPort = new QSpinBox(this); + addr->setEditable(true); + publicPort->setRange(1, 65535); localPort->setRange(1, 65535); publicPort->setValue(2298); localPort->setValue(2298); - QListWidget *lwAddrs = new QListWidget(this); QList<QHostAddress> hostIfAddrs = QNetworkInterface::allAddresses(); QHostAddress ifAddr; foreach (ifAddr, hostIfAddrs) - lwAddrs->addItem(ifAddr.toString()); + if (ifAddr.protocol() == QAbstractSocket::IPv4Protocol) + addr->addItem(ifAddr.toString()); directc2cLayout->addWidget(rbDisableDirectConns); @@ -61,7 +63,6 @@ SettingsDialog::SettingsDialog(QWidget *parent) : directc2cLayout->addWidget(publicPort); directc2cLayout->addWidget(lbLocPort); directc2cLayout->addWidget(localPort); - directc2cLayout->addWidget(lwAddrs); directc2cLayout->addStretch(1); //groupBox->setLayout(directc2cLayout); @@ -138,7 +139,7 @@ void SettingsDialog::loadSettings() break; } - addr->setText(st.loadValue("direct_c2c.public_addr", "0.0.0.0").toString()); + addr->lineEdit()->setText(st.loadValue("direct_c2c.public_addr", "0.0.0.0").toString()); publicPort->setValue(st.loadValue("direct_c2c.public_port", 2298).toInt()); localPort->setValue(st.loadValue("direct_c2c.local_port", 2298).toInt()); @@ -161,7 +162,7 @@ void SettingsDialog::storeSettings() st.storeValue("direct_c2c.state", QString::number(c2c_state)); - st.storeValue("direct_c2c.public_addr", addr->text()); + st.storeValue("direct_c2c.public_addr", addr->lineEdit()->text()); st.storeValue("direct_c2c.public_port", QString::number(publicPort->value())); st.storeValue("direct_c2c.local_port", QString::number(localPort->value())); } diff --git a/pica-client/dialogs/settingsdialog.h b/pica-client/dialogs/settingsdialog.h index 8c14ca1..9b11630 100644 --- a/pica-client/dialogs/settingsdialog.h +++ b/pica-client/dialogs/settingsdialog.h @@ -6,6 +6,7 @@ #include <QPushButton> #include <QSpinBox> #include <QRadioButton> +#include <QComboBox> class SettingsDialog : public QDialog { @@ -23,7 +24,7 @@ private: QRadioButton *rbEnableOutgoingConns; QRadioButton *rbEnableIncomingConns; - QLineEdit *addr; + QComboBox *addr; QSpinBox *publicPort; QSpinBox *localPort; |
