Fix #2243: use server url instead of hard coded string.

Signed-off-by: Camila <hello@camila.codes>
This commit is contained in:
Camila 2020-08-03 19:00:45 +02:00 committed by Kevin Ottens (Rebase PR Action)
parent 0516db5e10
commit 6d6cc3852b
2 changed files with 12 additions and 5 deletions

View file

@ -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()

View file

@ -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;