diff --git a/src/internet/subsonicservice.cpp b/src/internet/subsonicservice.cpp index 9d80e7c63..f31dba7e9 100644 --- a/src/internet/subsonicservice.cpp +++ b/src/internet/subsonicservice.cpp @@ -173,6 +173,9 @@ void SubsonicService::Login() { if (IsConfigured()) { // Ping is enough to check credentials Ping(); + } else { + login_state_ = LoginState_IncompleteCredentials; + emit LoginStateChanged(login_state_); } } diff --git a/src/internet/subsonicservice.h b/src/internet/subsonicservice.h index 6eeb9bbc0..c6f1b0cc9 100644 --- a/src/internet/subsonicservice.h +++ b/src/internet/subsonicservice.h @@ -37,6 +37,7 @@ class SubsonicService : public InternetService LoginState_HostNotFound, LoginState_Timeout, LoginState_SslError, + LoginState_IncompleteCredentials, }; enum ApiError { diff --git a/src/internet/subsonicsettingspage.cpp b/src/internet/subsonicsettingspage.cpp index da78f24eb..05705ecce 100644 --- a/src/internet/subsonicsettingspage.cpp +++ b/src/internet/subsonicsettingspage.cpp @@ -123,6 +123,10 @@ void SubsonicSettingsPage::LoginStateChanged(SubsonicService::LoginState newstat "SSLv3 option below may workaround some issues.")); break; + case SubsonicService::LoginState_IncompleteCredentials: + ui_->login_state->SetAccountTypeText(tr("Incomplete configuration, please ensure all fields are populated.")); + break; + default: break; }