settings.setValue(QLatin1String(versionC), maxAccountVersion);
settings.setValue(QLatin1String(urlC), acc->_url.toString());
settings.setValue(QLatin1String(davUserC), acc->_davUser);
- settings.setValue(QLatin1String(displayNameC), acc->_displayName);
+ settings.setValue(QLatin1String(displayNameC), acc->davDisplayName());
settings.setValue(QLatin1String(serverVersionC), acc->_serverVersion);
settings.setValue(QLatin1String(serverColorC), acc->_serverColor);
settings.setValue(QLatin1String(serverTextColorC), acc->_serverTextColor);
acc->_davUser = settings.value(QLatin1String(davUserC)).toString();
acc->_settingsMap.insert(QLatin1String(userC), settings.value(userC));
- acc->_displayName = settings.value(QLatin1String(displayNameC), "").toString();
+ acc->setDavDisplayName(settings.value(QLatin1String(displayNameC), "").toString());
const QString authTypePrefix = authType + "_";
const auto settingsChildKeys = settings.childKeys();
for (const auto &key : settingsChildKeys) {
}
acc->setCredentials(CredentialsFactory::create(authType));
+ acc->setDisplayName(acc->credentials()->user());
acc->setNetworkProxySetting(settings.value(networkProxySettingC).value<Account::AccountNetworkProxySetting>());
acc->setProxyType(settings.value(networkProxyTypeC).value<QNetworkProxy::ProxyType>());
QString Account::displayName() const
{
- auto displayName = QString("%1@%2").arg(credentials() ? credentials()->user() : "", _url.host());
+ return _displayName;
+}
+
+void Account::setDisplayName(const QString &username)
+{
+ auto displayName = QString("%1@%2").arg(username, _url.host());
const auto port = url().port();
if (port > 0 && port != 80 && port != 443) {
displayName.append(QLatin1Char(':'));
displayName.append(QString::number(port));
}
- return displayName;
+
+ if (displayName == _displayName) {
+ return;
+ }
+
+ _displayName = displayName;
}
QString Account::userIdAtHostWithPort() const
QString Account::davDisplayName() const
{
- return _displayName;
+ return _davDisplayName;
}
void Account::setDavDisplayName(const QString &newDisplayName)
{
- _displayName = newDisplayName;
+ _davDisplayName = newDisplayName;
emit accountChangedDisplayName();
emit prettyNameChanged();
}
/// The name of the account as shown in the toolbar
[[nodiscard]] QString displayName() const;
+ void setDisplayName(const QString &username);
/// User id in a form 'user@example.de, optionally port is added (if it is not 80 or 443)
[[nodiscard]] QString userIdAtHostWithPort() const;
QWeakPointer<Account> _sharedThis;
QString _id;
QString _davUser;
+ QString _davDisplayName;
QString _displayName;
QTimer _pushNotificationsReconnectTimer;
#ifndef TOKEN_AUTH_ONLY