Display the user's 'pretty' name in the webflow credentials

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
This commit is contained in:
Claudio Cambra 2022-10-06 19:45:24 +02:00
parent 29afd9d5f3
commit 359627007b
No known key found for this signature in database
GPG key ID: C839200C384636B0
3 changed files with 23 additions and 2 deletions

View file

@ -164,7 +164,7 @@ void WebFlowCredentials::askFromUser() {
}
QString msg = tr("You have been logged out of your account %1 at %2. Please login again.")
.arg(_account->davUser(), _account->url().toDisplayString());
.arg(_account->prettyName(), _account->url().toDisplayString());
_askDialog->setInfo(msg);
_askDialog->show();
@ -188,7 +188,7 @@ void WebFlowCredentials::slotAskFromUserCredentialsProvided(const QString &user,
qCInfo(lcWebFlowCredentials()) << "Authed with the wrong user!";
QString msg = tr("Please login with the account: %1")
.arg(_account->davUser());
.arg(_account->prettyName());
_askDialog->setError(msg);
if (!_askDialog->isUsingFlow2()) {

View file

@ -131,6 +131,7 @@ void Account::setDavUser(const QString &newDavUser)
return;
_davUser = newDavUser;
emit wantsAccountSaved(this);
emit prettyNameChanged();
}
#ifndef TOKEN_AUTH_ONLY
@ -165,6 +166,19 @@ void Account::setDavDisplayName(const QString &newDisplayName)
{
_displayName = newDisplayName;
emit accountChangedDisplayName();
emit prettyNameChanged();
}
QString Account::prettyName() const
{
// If davDisplayName is empty (can be several reasons, simplest is missing login at startup), fall back to username
auto name = davDisplayName();
if (name.isEmpty()) {
name = davUser();
}
return name;
}
QColor Account::headerColor() const

View file

@ -83,6 +83,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject
Q_PROPERTY(QString id MEMBER _id)
Q_PROPERTY(QString davUser MEMBER _davUser)
Q_PROPERTY(QString displayName MEMBER _displayName)
Q_PROPERTY(QString prettyName READ prettyName NOTIFY prettyNameChanged)
Q_PROPERTY(QUrl url MEMBER _url)
public:
@ -113,6 +114,11 @@ public:
/// The name of the account as shown in the toolbar
[[nodiscard]] QString displayName() const;
/// The name of the account that is displayed as nicely as possible,
/// e.g. the actual name of the user (John Doe). If this cannot be
/// provided, defaults to davUser (e.g. johndoe)
[[nodiscard]] QString prettyName() const;
[[nodiscard]] QColor accentColor() const;
[[nodiscard]] QColor headerColor() const;
[[nodiscard]] QColor headerTextColor() const;
@ -319,6 +325,7 @@ signals:
void accountChangedAvatar();
void accountChangedDisplayName();
void prettyNameChanged();
/// Used in RemoteWipe
void appPasswordRetrieved(QString);