summaryrefslogtreecommitdiff
path: root/settings/accounts/ui/MastodonSettingsDisplay.qml
diff options
context:
space:
mode:
Diffstat (limited to 'settings/accounts/ui/MastodonSettingsDisplay.qml')
-rw-r--r--settings/accounts/ui/MastodonSettingsDisplay.qml15
1 files changed, 15 insertions, 0 deletions
diff --git a/settings/accounts/ui/MastodonSettingsDisplay.qml b/settings/accounts/ui/MastodonSettingsDisplay.qml
index a9e2c5a..9a45e45 100644
--- a/settings/accounts/ui/MastodonSettingsDisplay.qml
+++ b/settings/accounts/ui/MastodonSettingsDisplay.qml
@@ -9,6 +9,16 @@ StandardAccountSettingsDisplay {
settingsModified: true
+ function _displayNameFromApiHost(apiHost) {
+ var host = apiHost ? apiHost.toString().trim() : ""
+ host = host.replace(/^https?:\/\//i, "")
+ var pathSeparator = host.indexOf("/")
+ if (pathSeparator !== -1) {
+ host = host.substring(0, pathSeparator)
+ }
+ return host
+ }
+
onAboutToSaveAccount: {
settingsLoader.updateAllSyncProfiles()
@@ -33,6 +43,11 @@ StandardAccountSettingsDisplay {
: ""
if (credentialsUserName.length > 0 && root.account.displayName !== credentialsUserName) {
root.account.displayName = credentialsUserName
+ } else if ((!root.account.displayName || root.account.displayName.toString().trim().length === 0)) {
+ var fallback = _displayNameFromApiHost(root.account.configurationValues("")["api/Host"])
+ if (fallback.length > 0) {
+ root.account.displayName = fallback
+ }
}
var autoSync = root.account.configurationValues("")["FeedViewAutoSync"]