diff --git a/plugins/samplesource/kiwisdr/kiwisdrgui.cpp b/plugins/samplesource/kiwisdr/kiwisdrgui.cpp index 231e11c1b..6e2043569 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrgui.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrgui.cpp @@ -150,7 +150,15 @@ void KiwiSDRGui::on_serverAddress_returnPressed() void KiwiSDRGui::on_serverAddressApplyButton_clicked() { - m_settings.m_serverAddress = ui->serverAddress->text(); + QString serverAddress = ui->serverAddress->text(); + QUrl url(serverAddress); + + if (QStringList{"ws", "wss", "http", "https"}.contains(url.scheme())) { + m_settings.m_serverAddress = QString("%1:%2").arg(url.host()).arg(url.port()); + } else { + m_settings.m_serverAddress = serverAddress; + } + sendSettings(); } diff --git a/plugins/samplesource/kiwisdr/kiwisdrworker.cpp b/plugins/samplesource/kiwisdr/kiwisdrworker.cpp index ae21f539b..a9ae104d7 100644 --- a/plugins/samplesource/kiwisdr/kiwisdrworker.cpp +++ b/plugins/samplesource/kiwisdr/kiwisdrworker.cpp @@ -139,8 +139,10 @@ void KiwiSDRWorker::onGainChanged(quint32 gain, bool useAGC) void KiwiSDRWorker::onServerAddressChanged(QString serverAddress) { - if (m_serverAddress == serverAddress) + if (m_serverAddress == serverAddress) { return; + } + m_serverAddress = serverAddress; m_status = 1;