SYNERGY-694 Handle client name duplication

This commit is contained in:
Serhii Hadzhilov 2021-05-13 14:44:28 +03:00
parent 431433f78a
commit 79f8fbc5d9
2 changed files with 20 additions and 13 deletions

View File

@ -37,7 +37,7 @@ void ClientConnection::update(const QString& line)
m_checkConnection = false;
if (!line.contains("server refused client with our name"))
{
showMessage();
showMessage(getMessage(line));
}
}
else if (line.contains("connected to server"))
@ -61,26 +61,33 @@ bool ClientConnection::checkMainWindow()
return result;
}
QString ClientConnection::getMessage() const
QString ClientConnection::getMessage(const QString& line) const
{
QString message(QObject::tr("We cant connect to the server IP address.\nCheck your IP on your server and your firewall settings."));
QHostAddress address(m_parent.appConfig().getServerHostname());
if (address.isNull())
if (line.contains("server already has a connected client with our name"))
{
message = QObject::tr("We cant connect to the server \"%1\" try to connect using the server IP address and check your firewall settings.")
.arg(m_parent.appConfig().getServerHostname());
message = QObject::tr("Connection failed.\nYou cant name 2 computers the same");
}
else
{
QHostAddress address(m_parent.appConfig().getServerHostname());
if (address.isNull())
{
message = QObject::tr("We cant connect to the server \"%1\" try to connect using the server IP address and check your firewall settings.")
.arg(m_parent.appConfig().getServerHostname());
}
}
return message;
}
void ClientConnection::showMessage()
void ClientConnection::showMessage(const QString& message) const
{
QMessageBox message(&m_parent);
message.addButton(QObject::tr("Close"), QMessageBox::RejectRole);
message.setText(getMessage());
message.exec();
QMessageBox dialog(&m_parent);
dialog.addButton(QObject::tr("Close"), QMessageBox::RejectRole);
dialog.setText(message);
dialog.exec();
}
void ClientConnection::setCheckConnection(bool checkConnection)

View File

@ -34,9 +34,9 @@ public:
void setCheckConnection(bool checkConnection);
private:
QString getMessage() const;
QString getMessage(const QString& line) const;
bool checkMainWindow();
void showMessage();
void showMessage(const QString& message) const;
};
#endif // CLIENTCONNECTION_H