Skip to content

Commit e90da08

Browse files
Refactor GetButton to improve server connection handling and button state updates
1 parent f13f9db commit e90da08

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

src/zGui/getButton.cc

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,25 @@ void GetButton::addGetButton(QWidget *window, QGridLayout *layout) {
1111
getButton = new QPushButton(window);
1212
getButton->setText("Get clipboard from another device");
1313

14-
connect(getButton, &QPushButton::clicked, this,
15-
[this, window]() { createReceiverServer(window); });
14+
connect(getButton, &QPushButton::clicked, this, [this, window]() {
15+
createReceiverServer(window);
16+
getButton->setText("Waiting connection device..");
17+
});
1618

1719
layout->addWidget(getButton, 0, 1);
1820
}
1921

2022
void GetButton::createReceiverServer(QWidget *parent) {
21-
QTcpServer *server = new QTcpServer(parent);
23+
if (server && server->isListening()) {
24+
QMessageBox::information(
25+
parent, QStringLiteral("Informaton"),
26+
QStringLiteral(
27+
"The server is now running. Waiting for clipboard data from another device..."));
28+
29+
return;
30+
}
31+
32+
server = new QTcpServer(parent);
2233

2334
if (!server->listen(QHostAddress::AnyIPv4, 8000)) {
2435
QMessageBox::critical(
@@ -27,7 +38,7 @@ void GetButton::createReceiverServer(QWidget *parent) {
2738
return;
2839
}
2940

30-
connect(server, &QTcpServer::newConnection, parent, [server, parent]() {
41+
connect(server, &QTcpServer::newConnection, parent, [this, parent]() {
3142
QTcpSocket *socket = server->nextPendingConnection();
3243

3344
connect(socket, &QTcpSocket::readyRead, parent, [socket]() {

0 commit comments

Comments
 (0)