qnetdice
diff src/mainwin.cc @ 3:2e57c80653af
more stuff
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 23 Dec 2013 06:09:25 +0200 |
parents | 92377189a5c6 |
children |
line diff
1.1 --- a/src/mainwin.cc Sun Dec 22 04:09:23 2013 +0200 1.2 +++ b/src/mainwin.cc Mon Dec 23 06:09:25 2013 +0200 1.3 @@ -1,8 +1,10 @@ 1.4 +#include <QDialog> 1.5 #include "mainwin.h" 1.6 #include "ui_mainwin.h" 1.7 #include "ui_server.h" 1.8 #include "rollwidget.h" 1.9 #include "main.h" 1.10 +#include "logger.h" 1.11 1.12 MainWindow::MainWindow(QWidget *parent) 1.13 : QMainWindow(parent), 1.14 @@ -17,8 +19,10 @@ 1.15 connect(ui->bn_clear, SIGNAL(clicked()), this, SLOT(clear_dice())); 1.16 connect(ui->bn_roll_all, SIGNAL(clicked()), this, SLOT(roll_all())); 1.17 1.18 - //connect(ui->action_connect, SIGNAL(triggered()), this, SLOT(start_client())); 1.19 - //connect(ui->action_start_server, SIGNAL(triggered()), this, SLOT(start_server())); 1.20 + connect(ui->action_connect, SIGNAL(triggered()), this, SLOT(start_client())); 1.21 + connect(ui->action_start_server, SIGNAL(triggered()), this, SLOT(start_server())); 1.22 + 1.23 + connect(ui->action_quit, SIGNAL(triggered()), this, SLOT(close())); 1.24 } 1.25 1.26 MainWindow::~MainWindow() 1.27 @@ -64,10 +68,29 @@ 1.28 1.29 void MainWindow::start_client() 1.30 { 1.31 - Ui::ServerDialog *dlg = new Ui::ServerDialog; 1.32 - dlg->setupUi(0); 1.33 } 1.34 1.35 void MainWindow::start_server() 1.36 { 1.37 + QDialog *dlg_server = new QDialog(0, 0); 1.38 + Ui_ServerDialog ui; 1.39 + ui.setupUi(dlg_server); 1.40 + 1.41 + if(dlg_server->exec()) { 1.42 + bool valid; 1.43 + int port = ui.tx_port->text().toInt(&valid); 1.44 + 1.45 + if(!valid) { 1.46 + log_message("invalid port: %s\n", ui.tx_port->text().toUtf8().data()); 1.47 + return; 1.48 + } 1.49 + 1.50 + std::string passwd = ui.tx_passwd->text().toUtf8().data(); 1.51 + if(passwd.empty()) { 1.52 + log_message("failed to start server: empty password field\n"); 1.53 + return; 1.54 + } 1.55 + 1.56 + ::start_server(port, passwd.c_str()); 1.57 + } 1.58 }