X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=client%2Fmainwindow.cpp;h=d7efae39c67eed4c0878ba0b61c46ff0d97716d5;hb=f7a86ae15f9788d98074027c9a6b8cee54859a4c;hp=7e96d22d6d7b88604dcc9d2e38c2ff70197bf3d4;hpb=45c38ca40bb25cbe64b23b7f5bd7fd293ea407f9;p=ultimatescore diff --git a/client/mainwindow.cpp b/client/mainwindow.cpp index 7e96d22..d7efae3 100644 --- a/client/mainwindow.cpp +++ b/client/mainwindow.cpp @@ -90,6 +90,24 @@ MainWindow::MainWindow(QWidget *parent) : ui(new Ui::MainWindow) { ui->setupUi(this); + for (QComboBox *team_combo : { ui->initials_1_edit, ui->initials_2_edit, ui->match_2_initials_1_edit, ui->match_2_initials_2_edit, ui->match_3_initials_1_edit, ui->match_3_initials_2_edit }) { + // team_combo->addItem("BFK", "navy"); + team_combo->addItem("BRI", "navy"); + team_combo->addItem("BSI1", "white"); + team_combo->addItem("BSI2", "yellow"); + team_combo->addItem("ESK", "white"); + team_combo->addItem("FRA", "navy"); + team_combo->addItem("NHHI", "navy"); + team_combo->addItem("NMBUI", "cyan"); + team_combo->addItem("OSI", "black"); + team_combo->addItem("PCL", "red"); + team_combo->addItem("STO", ""); + team_combo->addItem("TFK1", "yellow"); + team_combo->addItem("TFK2", "yellow"); + team_combo->addItem("TFK3", "green"); + team_combo->addItem("TSI", "orange"); + } + ws = new WSServer("127.0.0.1", 5250); ws->set_connection_callback([this](bool connected) { string msg = connected ? "Connected" : "Not connected"; @@ -144,10 +162,17 @@ MainWindow::MainWindow(QWidget *parent) : connect(ui->show_schedule_btn, &QPushButton::clicked, this, &MainWindow::show_schedule_clicked); connect(ui->show_carousel_btn, &QPushButton::clicked, this, &MainWindow::show_carousel_clicked); connect(ui->show_nothing_btn, &QPushButton::clicked, this, &MainWindow::show_nothing_clicked); - connect(ui->show_roster_1_btn, &QPushButton::clicked, this, [this]() { show_roster_clicked(ui->initials_1_edit->text().toStdString()); }); - connect(ui->show_roster_2_btn, &QPushButton::clicked, this, [this]() { show_roster_clicked(ui->initials_2_edit->text().toStdString()); }); + connect(ui->show_roster_1_btn, &QPushButton::clicked, this, [this]() { show_roster_clicked(ui->initials_1_edit->currentText().toStdString()); }); + connect(ui->show_roster_2_btn, &QPushButton::clicked, this, [this]() { show_roster_clicked(ui->initials_2_edit->currentText().toStdString()); }); connect(ui->show_roster_carousel_btn, &QPushButton::clicked, this, &MainWindow::show_roster_carousel_clicked); + connect(ui->initials_1_edit, QOverload::of(&QComboBox::currentIndexChanged), [=](int index) { + ui->color_1_edit->setText(ui->initials_1_edit->itemData(index).toString()); + }); + connect(ui->initials_2_edit, QOverload::of(&QComboBox::currentIndexChanged), [=](int index) { + ui->color_2_edit->setText(ui->initials_2_edit->itemData(index).toString()); + }); + autocomment_update(); const set> usb{{ 0x0e8f, 0x0041 }}; @@ -168,8 +193,8 @@ void MainWindow::ws_disconnect_clicked() void MainWindow::set_initials_clicked() { map param; - param["team1"] = escape_html(ui->initials_1_edit->text().toStdString()); - param["team2"] = escape_html(ui->initials_2_edit->text().toStdString()); + param["team1"] = escape_html(ui->initials_1_edit->currentText().toStdString()); + param["team2"] = escape_html(ui->initials_2_edit->currentText().toStdString()); ws->send_command("update " + serialize_as_json(param)); ws->send_command("eval setteams()"); } @@ -177,8 +202,8 @@ void MainWindow::set_initials_clicked() void MainWindow::set_match_2_initials_clicked() { map param; - param["team1"] = escape_html(ui->match_2_initials_1_edit->text().toStdString()); - param["team2"] = escape_html(ui->match_2_initials_2_edit->text().toStdString()); + param["team1"] = escape_html(ui->match_2_initials_1_edit->currentText().toStdString()); + param["team2"] = escape_html(ui->match_2_initials_2_edit->currentText().toStdString()); ws->send_command("update " + serialize_as_json(param)); ws->send_command("eval setteams2()"); } @@ -186,10 +211,10 @@ void MainWindow::set_match_2_initials_clicked() void MainWindow::set_match_3_initials_clicked() { map param; - param["team1"] = escape_html(ui->match_3_initials_1_edit->text().toStdString()); - param["team2"] = escape_html(ui->match_3_initials_2_edit->text().toStdString()); + param["team1"] = escape_html(ui->match_3_initials_1_edit->currentText().toStdString()); + param["team2"] = escape_html(ui->match_3_initials_2_edit->currentText().toStdString()); ws->send_command("update " + serialize_as_json(param)); - ws->send_command("eval setteams2()"); + ws->send_command("eval setteams3()"); } void MainWindow::set_color_clicked() @@ -406,8 +431,8 @@ void MainWindow::show_carousel_clicked() void MainWindow::show_roster_carousel_clicked() { map param; - param["team1"] = escape_html(ui->initials_1_edit->text().toStdString()); - param["team2"] = escape_html(ui->initials_2_edit->text().toStdString()); + param["team1"] = escape_html(ui->initials_1_edit->currentText().toStdString()); + param["team2"] = escape_html(ui->initials_2_edit->currentText().toStdString()); ws->send_command("eval stopcarousel()"); ws->send_command("update " + serialize_as_json(param)); ws->send_command("eval showrostercarousel_from_state()"); @@ -527,7 +552,14 @@ void MainWindow::bt6000_message_received(const string &msg, int port) param["clock_sec"] = to_string(seconds); ws->send_command("update " + serialize_as_json(param)); - if (port == 6001) { + if (port == 6002) { + ws->send_command("eval adjustclockfromstate(2)"); + if (clock_running) { + ws->send_command("eval startclock(2)"); + } else { + ws->send_command("eval stopclock(2)"); + } + } else if (port == 6001) { ws->send_command("eval adjustclockfromstate(1)"); if (clock_running) { ws->send_command("eval startclock(1)"); @@ -546,7 +578,13 @@ void MainWindow::bt6000_message_received(const string &msg, int port) if (msg.size() >= 10 && msg[0] == 'G' && msg[1] == '0' && msg[2] == '2') { int score1 = parse_score(msg[4], msg[5], msg[6]); int score2 = parse_score(msg[7], msg[8], msg[9]); - if (port == 6001) { + if (port == 6002) { + map param; + param["score1"] = to_string(score1); + param["score2"] = to_string(score2); + ws->send_command("update " + serialize_as_json(param)); + ws->send_command("eval setscore3()"); + } else if (port == 6001) { map param; param["score1"] = to_string(score1); param["score2"] = to_string(score2);