diff options
| author | Anton <anton@picapica> | 2016-09-06 01:18:20 +0400 |
|---|---|---|
| committer | Anton <anton@picapica> | 2016-09-06 01:18:20 +0400 |
| commit | 80ef4a04b567b94e664cdb3e2354cbd204da57bc (patch) | |
| tree | d79bdebb478c345b57172550e685b401c84b73e0 /pica-client/dialogs | |
| parent | de58e6a8392dda40aa15413053a520e2a1f1a3e3 (diff) | |
| download | pica-pica-80ef4a04b567b94e664cdb3e2354cbd204da57bc.tar.gz pica-pica-80ef4a04b567b94e664cdb3e2354cbd204da57bc.zip | |
SettingsDialog implementation
Diffstat (limited to 'pica-client/dialogs')
| -rw-r--r-- | pica-client/dialogs/settingsdialog.cpp | 87 | ||||
| -rw-r--r-- | pica-client/dialogs/settingsdialog.h | 6 |
2 files changed, 93 insertions, 0 deletions
diff --git a/pica-client/dialogs/settingsdialog.cpp b/pica-client/dialogs/settingsdialog.cpp index 3b1cab7..da6b55f 100644 --- a/pica-client/dialogs/settingsdialog.cpp +++ b/pica-client/dialogs/settingsdialog.cpp @@ -1,7 +1,12 @@ #include "settingsdialog.h" +#include "settings.h" +#include "globals.h" + #include <QGroupBox> #include <QVBoxLayout> +#include <QHBoxLayout> #include <QLabel> +#include <QVariant> SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) @@ -43,5 +48,87 @@ SettingsDialog::SettingsDialog(QWidget *parent) : settingsLayout->addWidget(groupBox); + QHBoxLayout *buttonsLayout = new QHBoxLayout; + + btOk = new QPushButton(tr("&OK"), this); + btCancel = new QPushButton(tr("Cancel"), this); + + buttonsLayout->addStretch(1); + buttonsLayout->addWidget(btOk); + buttonsLayout->addWidget(btCancel); + + settingsLayout->addLayout(buttonsLayout); + setLayout(settingsLayout); + + connect(btOk, SIGNAL(clicked()), this, SLOT(OK())); + connect(btCancel, SIGNAL(clicked()), this, SLOT(Cancel())); + + loadSettings(); +} + +void SettingsDialog::OK() +{ + storeSettings(); + done(1); +} + +void SettingsDialog::Cancel() +{ + done(0); +} + +void SettingsDialog::loadSettings() +{ + Settings st(config_dbname); + + //Direct c2c connections + int c2c_state; + + c2c_state = st.loadValue("direct_c2c.state", 1).toInt(); + + switch (c2c_state) + { + case 0: + rbDisableDirectConns->setChecked(true); + break; + + case 1: + rbEnableOutgoingConns->setChecked(true); + break; + + case 2: + rbEnableIncomingConns->setChecked(true); + break; + + default: + break; + } + + addr->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()); + +} + +void SettingsDialog::storeSettings() +{ + Settings st(config_dbname); + + //Direct c2c connections + int c2c_state; + + if (rbDisableDirectConns->isChecked()) + c2c_state = 0; + else if (rbEnableOutgoingConns->isChecked()) + c2c_state = 1; + else if (rbEnableIncomingConns->isChecked()) + c2c_state = 2; + + st.storeValue("direct_c2c.state", QString::number(c2c_state)); + + st.storeValue("direct_c2c.public_addr", addr->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 883ff89..06a2cf8 100644 --- a/pica-client/dialogs/settingsdialog.h +++ b/pica-client/dialogs/settingsdialog.h @@ -30,6 +30,12 @@ private: QPushButton *btOk; QPushButton *btCancel; + void loadSettings(); + void storeSettings(); + +private slots: + void OK(); + void Cancel(); }; |
