diff options
Diffstat (limited to 'settings/accounts')
| -rw-r--r-- | settings/accounts/accounts.pro | 2 | ||||
| -rw-r--r-- | settings/accounts/services/mastodon-microblog.service | 2 | ||||
| -rw-r--r-- | settings/accounts/services/mastodon-notifications.service | 31 | ||||
| -rw-r--r-- | settings/accounts/ui/MastodonSettingsDisplay.qml | 25 | ||||
| -rw-r--r-- | settings/accounts/ui/mastodon-update.qml | 3 | ||||
| -rw-r--r-- | settings/accounts/ui/mastodon.qml | 5 |
6 files changed, 58 insertions, 10 deletions
diff --git a/settings/accounts/accounts.pro b/settings/accounts/accounts.pro index d451438..190ee17 100644 --- a/settings/accounts/accounts.pro +++ b/settings/accounts/accounts.pro @@ -28,6 +28,7 @@ PRE_TARGETDEPS += ts engineering_english OTHER_FILES += \ $$PWD/providers/mastodon.provider \ $$PWD/services/mastodon-microblog.service \ + $$PWD/services/mastodon-notifications.service \ $$PWD/services/mastodon-sharing.service \ $$PWD/ui/MastodonSettingsDisplay.qml \ $$PWD/ui/mastodon.qml \ @@ -39,6 +40,7 @@ provider.path = /usr/share/accounts/providers/ services.files += \ $$PWD/services/mastodon-microblog.service \ + $$PWD/services/mastodon-notifications.service \ $$PWD/services/mastodon-sharing.service services.path = /usr/share/accounts/services/ diff --git a/settings/accounts/services/mastodon-microblog.service b/settings/accounts/services/mastodon-microblog.service index 6b975f7..6151577 100644 --- a/settings/accounts/services/mastodon-microblog.service +++ b/settings/accounts/services/mastodon-microblog.service @@ -8,7 +8,7 @@ <provider>mastodon</provider> <template> - <setting name="sync_profile_templates" type="as">["mastodon.Posts", "mastodon.Notifications"]</setting> + <setting name="sync_profile_templates" type="as">["mastodon.Posts"]</setting> <group name="auth"> <setting name="method">oauth2</setting> <setting name="mechanism">web_server</setting> diff --git a/settings/accounts/services/mastodon-notifications.service b/settings/accounts/services/mastodon-notifications.service new file mode 100644 index 0000000..0c41e29 --- /dev/null +++ b/settings/accounts/services/mastodon-notifications.service @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!-- Copyright (C) 2013-2026 Jolla Ltd. --> +<service id="mastodon-notifications"> + <type>microblogging</type> + <translations>/usr/share/translations/settings-accounts-mastodon</translations> + <name>Notifications</name> + <icon>image://theme/icon-l-mastodon</icon> + <provider>mastodon</provider> + + <template> + <setting name="sync_profile_templates" type="as">["mastodon.Notifications"]</setting> + <group name="auth"> + <setting name="method">oauth2</setting> + <setting name="mechanism">web_server</setting> + <group name="oauth2"> + <group name="web_server"> + <setting name="Host">mastodon.social</setting> + <setting name="AllowedSchemes" type="as">["https"]</setting> + <setting name="AuthPath">oauth/authorize</setting> + <setting name="TokenPath">oauth/token</setting> + <setting name="ResponseType">code</setting> + <setting name="Scope" type="as">["read","write"]</setting> + <setting name="RedirectUri">http://ipv4.jolla.com/online/status.html</setting> + </group> + </group> + </group> + <group name="api"> + <setting name="Host">https://mastodon.social</setting> + </group> + </template> +</service> diff --git a/settings/accounts/ui/MastodonSettingsDisplay.qml b/settings/accounts/ui/MastodonSettingsDisplay.qml index 1ee276e..c03221a 100644 --- a/settings/accounts/ui/MastodonSettingsDisplay.qml +++ b/settings/accounts/ui/MastodonSettingsDisplay.qml @@ -37,7 +37,8 @@ StandardAccountSettingsDisplay { var providerDisplayName = root.accountProvider && root.accountProvider.displayName ? root.accountProvider.displayName.toString().trim() : "" - return providerDisplayName.length > 0 ? providerDisplayName : "Mastodon" + //% "Mastodon" + return providerDisplayName.length > 0 ? providerDisplayName : qsTrId("settings-accounts-mastodon-la-provider_name") } onAboutToSaveAccount: { @@ -106,10 +107,20 @@ StandardAccountSettingsDisplay { id: syncServicesRepeater TextSwitch { checked: model.enabled - text: model.displayName + text: model.serviceName === "mastodon-microblog" + //% "Posts" + ? qsTrId("settings-accounts-mastodon-la-service_posts") + : (model.serviceName === "mastodon-notifications" + //% "Notifications" + ? qsTrId("settings-accounts-mastodon-la-service_notifications") + : model.displayName) description: model.serviceName === "mastodon-microblog" - ? "Show Mastodon posts in the Events view." - : "" + //% "Show Mastodon posts in the Events view." + ? qsTrId("settings-accounts-mastodon-la-service_posts_description") + : (model.serviceName === "mastodon-notifications" + //% "Show Mastodon notifications." + ? qsTrId("settings-accounts-mastodon-la-service_notifications_description") + : "") visible: text.length > 0 onCheckedChanged: { if (checked) { @@ -124,8 +135,10 @@ StandardAccountSettingsDisplay { TextSwitch { id: eventsSyncSwitch - text: "Sync Mastodon feed automatically" - description: "Fetch new posts periodically when browsing Events Mastodon feed." + //% "Sync Mastodon feed automatically" + text: qsTrId("settings-accounts-mastodon-la-auto_sync_feed") + //% "Fetch new posts periodically when browsing Events Mastodon feed." + description: qsTrId("settings-accounts-mastodon-la-auto_sync_feed_description") onCheckedChanged: { autoSyncConf.value = checked diff --git a/settings/accounts/ui/mastodon-update.qml b/settings/accounts/ui/mastodon-update.qml index 98dba8c..75c043d 100644 --- a/settings/accounts/ui/mastodon-update.qml +++ b/settings/accounts/ui/mastodon-update.qml @@ -175,7 +175,8 @@ AccountCredentialsAgent { var clientId = _valueFromServiceConfig(config, "auth/oauth2/web_server/ClientId") var clientSecret = _valueFromServiceConfig(config, "auth/oauth2/web_server/ClientSecret") if (clientId.length === 0 || clientSecret.length === 0) { - credentialsUpdateError("Missing Mastodon OAuth client credentials") + //% "Missing Mastodon OAuth client credentials" + credentialsUpdateError(qsTrId("settings-accounts-mastodon-la-missing_client_credentials")) return } diff --git a/settings/accounts/ui/mastodon.qml b/settings/accounts/ui/mastodon.qml index e7cf255..a32f336 100644 --- a/settings/accounts/ui/mastodon.qml +++ b/settings/accounts/ui/mastodon.qml @@ -366,12 +366,13 @@ AccountCreationAgent { function configure() { hasConfigured = true - var services = ["mastodon-microblog", "mastodon-sharing"] + var services = ["mastodon-microblog", "mastodon-notifications", "mastodon-sharing"] var providerDisplayName = root.accountProvider && root.accountProvider.displayName ? root.accountProvider.displayName.toString().trim() : "" if (providerDisplayName.length === 0) { - providerDisplayName = "Mastodon" + //% "Mastodon" + providerDisplayName = qsTrId("settings-accounts-mastodon-la-provider_name") } newAccount.displayName = providerDisplayName |
