summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnton <anton@picapica>2017-12-01 04:14:09 +0400
committerAnton <anton@picapica>2017-12-01 04:14:09 +0400
commit8bb59811285b17d9b81baac60bb214efe434fb03 (patch)
tree903ccc69b032ccc8412340ef8543bf53841e5723
parentc2f8b64da40dd73f75230f18816578a2cc8c1b9a (diff)
downloadpica-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.cpp13
-rw-r--r--pica-client/dialogs/settingsdialog.h3
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;