From: Camila Date: Mon, 3 Aug 2020 17:00:45 +0000 (+0200) Subject: Fix #2243: use server url instead of hard coded string. X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~222^2^2~34^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6d6cc3852bab3566d7e0641f70a9ea05800bb95b;p=nextcloud-desktop.git Fix #2243: use server url instead of hard coded string. Signed-off-by: Camila --- diff --git a/src/gui/tray/UserModel.cpp b/src/gui/tray/UserModel.cpp index 77c5e3991..f7008c42c 100644 --- a/src/gui/tray/UserModel.cpp +++ b/src/gui/tray/UserModel.cpp @@ -486,6 +486,11 @@ bool User::serverHasTalk() const return _account->hasTalk(); } +AccountApp *User::talkApp() const +{ + return _account->findApp(QStringLiteral("spreed")); +} + bool User::hasActivities() const { return _account->account()->capabilities().hasActivities(); @@ -643,14 +648,15 @@ Q_INVOKABLE void UserModel::openCurrentAccountLocalFolder() Q_INVOKABLE void UserModel::openCurrentAccountTalk() { - if (_users.isEmpty()) + if (!currentUser()) return; - QString url = _users[_currentUserId]->server(false) + "/apps/spreed"; - if (!(url.contains("http://") || url.contains("https://"))) { - url = "https://" + _users[_currentUserId]->server(false) + "/apps/spreed"; + const auto talkApp = currentUser()->talkApp(); + if (talkApp) { + QDesktopServices::openUrl(talkApp->url()); + } else { + qCWarning(lcActivity) << "The Talk app is not enabled on" << currentUser()->server(); } - QDesktopServices::openUrl(QUrl(url)); } Q_INVOKABLE void UserModel::openCurrentAccountServer() diff --git a/src/gui/tray/UserModel.h b/src/gui/tray/UserModel.h index 3a28e65e3..3057f0c28 100644 --- a/src/gui/tray/UserModel.h +++ b/src/gui/tray/UserModel.h @@ -36,6 +36,7 @@ public: QString server(bool shortened = true) const; bool hasLocalFolder() const; bool serverHasTalk() const; + AccountApp *talkApp() const; bool hasActivities() const; AccountAppList appList() const; QImage avatar(bool whiteBg = false) const;