diff --git a/src/internet/subsonicservice.cpp b/src/internet/subsonicservice.cpp index 1ec7def11..28f08287b 100644 --- a/src/internet/subsonicservice.cpp +++ b/src/internet/subsonicservice.cpp @@ -242,6 +242,9 @@ void SubsonicService::onPingFinished() case ApiError_Unlicensed: login_state_ = LoginState_Unlicensed; break; + case ApiError_OutdatedServer: + login_state_ = LoginState_OutdatedServer; + break; default: login_state_ = LoginState_OtherError; break; diff --git a/src/internet/subsonicservice.h b/src/internet/subsonicservice.h index 574f3706e..be4621d8e 100644 --- a/src/internet/subsonicservice.h +++ b/src/internet/subsonicservice.h @@ -25,6 +25,7 @@ class SubsonicService : public InternetService LoginState_BadServer, LoginState_BadCredentials, LoginState_Unlicensed, + LoginState_OutdatedServer, LoginState_OtherError, LoginState_Unknown, }; diff --git a/src/internet/subsonicsettingspage.cpp b/src/internet/subsonicsettingspage.cpp index ec0768d6b..827296350 100644 --- a/src/internet/subsonicsettingspage.cpp +++ b/src/internet/subsonicsettingspage.cpp @@ -76,6 +76,10 @@ void SubsonicSettingsPage::LoginStateChanged(SubsonicService::LoginState newstat ui_->login_state->SetAccountTypeText(tr("The Subsonic API is only available on licensed servers.")); break; + case SubsonicService::LoginState_OutdatedServer: + ui_->login_state->SetAccountTypeText(tr("Incompatible Subsonic REST protocol version. Server must upgrade.")); + break; + case SubsonicService::LoginState_OtherError: ui_->login_state->SetAccountTypeText(tr("An unspecified error occurred.")); break;