diff --git a/doc/newsfragments/zeroconf-announce-screen-name.bugfix b/doc/newsfragments/zeroconf-announce-screen-name.bugfix new file mode 100644 index 00000000000..dd7542bc8ba --- /dev/null +++ b/doc/newsfragments/zeroconf-announce-screen-name.bugfix @@ -0,0 +1 @@ +Use screen name instead of IP address to announce server through zeroconf. diff --git a/src/gui/src/ZeroconfService.cpp b/src/gui/src/ZeroconfService.cpp index f7b10007b95..f6d1ccd68c6 100644 --- a/src/gui/src/ZeroconfService.cpp +++ b/src/gui/src/ZeroconfService.cpp @@ -124,27 +124,6 @@ void ZeroconfService::errorHandle(DNSServiceErrorType errorCode) tr("Error code: %1.").arg(errorCode)); } -QString ZeroconfService::getLocalIPAddresses() -{ - QStringList addresses; - for (const QHostAddress& address : QNetworkInterface::allAddresses()) { - if (address.protocol() == QAbstractSocket::IPv4Protocol && - address != QHostAddress(QHostAddress::LocalHost)) { - addresses.append(address.toString()); - } - } - - for (const QString& preferedIP : preferedIPAddress) { - for (const QString& address : addresses) { - if (address.startsWith(preferedIP)) { - return address; - } - } - } - - return ""; -} - bool ZeroconfService::registerService(bool server) { bool result = true; @@ -159,19 +138,10 @@ bool ZeroconfService::registerService(bool server) else { m_pZeroconfRegister = new ZeroconfRegister(this); if (server) { - QString localIP = getLocalIPAddresses(); - if (localIP.isEmpty()) { - QMessageBox::warning(m_pMainWindow, tr("Barrier"), - tr("Failed to get local IP address. " - "Please manually type in server address " - "on your clients")); - } - else { - m_pZeroconfRegister->registerService( - ZeroconfRecord(tr("%1").arg(localIP), - QLatin1String(m_ServerServiceName), QString()), - m_zeroconfServer.serverPort()); - } + m_pZeroconfRegister->registerService( + ZeroconfRecord(tr("%1").arg(m_pMainWindow->getScreenName()), + QLatin1String(m_ServerServiceName), QString()), + m_zeroconfServer.serverPort()); } else { m_pZeroconfRegister->registerService( diff --git a/src/gui/src/ZeroconfService.h b/src/gui/src/ZeroconfService.h index 929cd05581e..8a3b8beb14d 100644 --- a/src/gui/src/ZeroconfService.h +++ b/src/gui/src/ZeroconfService.h @@ -42,7 +42,6 @@ private slots: void errorHandle(DNSServiceErrorType errorCode); private: - QString getLocalIPAddresses(); bool registerService(bool server); private: