Commit Graph

60 Commits

Author SHA1 Message Date
Weblate Translation Memory da54e80ba5 fix(l10n): Update Italian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/it/
2024-10-24 22:47:26 +02:00
LibreTranslate 5704191cb2 fix(l10n): Update Italian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/it/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory a3da8d59fb fix(l10n): Update Icelandic translations
Currently translated at 46.4% (13 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/is/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory e5e8d70b37 fix(l10n): Update Indonesian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/id/
2024-10-24 22:47:26 +02:00
LibreTranslate 54d23cd928 fix(l10n): Update Indonesian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/id/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory c8580aa902 fix(l10n): Update Hungarian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/hu/
2024-10-24 22:47:26 +02:00
LibreTranslate 9332bf0b9c fix(l10n): Update Hungarian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/hu/
2024-10-24 22:47:26 +02:00
LibreTranslate 88fa047480 fix(l10n): Update Hindi translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/hi/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory 84f887f6bf fix(l10n): Update Galician translations
Currently translated at 60.7% (17 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/gl/
2024-10-24 22:47:26 +02:00
LibreTranslate 940d2f23ed fix(l10n): Update Irish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ga/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory abadde88fb fix(l10n): Update French translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fr/
2024-10-24 22:47:26 +02:00
LibreTranslate 13745ef82f fix(l10n): Update French translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fr/
2024-10-24 22:47:26 +02:00
Kalle Kniivilä c527595ca1 fix(l10n): Update Finnish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fi/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory 0d484755da fix(l10n): Update Persian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fa/
2024-10-24 22:47:26 +02:00
LibreTranslate d0dfec93ec fix(l10n): Update Persian translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fa/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory 18c9a4b3c9 fix(l10n): Update Basque translations
Currently translated at 46.4% (13 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/eu/
2024-10-24 22:47:26 +02:00
LibreTranslate 4a5816c705 fix(l10n): Update Spanish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/es/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory fc5a93b652 fix(l10n): Update Spanish translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/es/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory 039e6012a8 fix(l10n): Update Esperanto translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/eo/
2024-10-24 22:47:26 +02:00
LibreTranslate 5c21c69bf0 fix(l10n): Update Esperanto translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/eo/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory c9fa11d706 fix(l10n): Update German translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/de/
2024-10-24 22:47:26 +02:00
LibreTranslate fc033582af fix(l10n): Update German translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/de/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory 5052b11394 fix(l10n): Update Welsh translations
Currently translated at 46.4% (13 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/cy/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory e3ca89fbba fix(l10n): Update Czech translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/cs/
2024-10-24 22:47:26 +02:00
LibreTranslate 1b6bfb4305 fix(l10n): Update Czech translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/cs/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory f6c4f86806 fix(l10n): Update Catalan translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ca/
2024-10-24 22:47:26 +02:00
LibreTranslate e84fbfb256 fix(l10n): Update Catalan translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ca/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory 8442b6cc58 fix(l10n): Update Bulgarian translations
Currently translated at 50.0% (14 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/bg/
2024-10-24 22:47:26 +02:00
Weblate Translation Memory fdff828c46 fix(l10n): Update Arabic translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ar/
2024-10-24 22:47:26 +02:00
LibreTranslate 8f4dea5618 fix(l10n): Update Arabic translations
Currently translated at 100.0% (28 of 28 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/ar/
2024-10-24 22:47:26 +02:00
Nik Clayton 2234c4c782
feat: Add accessibility options for tab justification and content (#1035)
Provide two new lab preferences for controlling the layout and content
of main navigation tabs.

Tabs can now be justfied to start, end, or fully (if room). Start/end
justification may put the tabs closer to the user's fingers, depending
on how they hold the device. Fully justified uses the full width of the
tab bar (if the tabs don't require scrolling).

The content can be set to one of:

- Icon only (previous behaviour)
- Text only
- Icon with text beside
- Icon with text below

Fixes #336
2024-10-21 17:49:19 +02:00
Nik Clayton a43ebab69b
feat: Add "Don't ask again" option when confirming the posting language (#1027)
For some users this feature has too many false positives, particularly
when emojis are used.

Provide a preference that enables/disables the feature, default to
"enable".

When the user is prompted the dialog has a third "Don't ask again"
option. If chosen the preference is set to prevent future prompts and
the status is sent as-is.

Fixes #893
2024-10-18 17:26:50 +02:00
Nik Clayton 2a9293cf3b
change: Document the WELLBEING_* preferences (#1010) 2024-10-18 01:29:39 +02:00
Nik Clayton a5c8bf5e7e
fix: Remove the "Liimt timeline notifications" preference (#1009)
This wasn't acting as a preference.

It presented as a switch. If the user toggled it some notification
settings were changed for all accounts.

It wasn't clear what was changed, and if the user changed some of those
settings back the switch position did not change (it couldn't, you
couldn't meaningfully represent a partial change using a single switch).

Since the user has full control over the notification filters on a
per-account basis remove this "preference" to reduce confusion.

Fixes #935
2024-10-17 22:09:22 +02:00
Weblate (bot) 2bdec1d44b
fix(l10n): Translations update from Hosted Weblate (#998)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2024-10-11 16:07:00 +02:00
Weblate (bot) 0cf50524f2
fix(l10n): Translations update from Hosted Weblate (#995)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: Vaclovas Intas <vaclovas1999@gmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org>
2024-10-10 21:42:59 +02:00
Nik Clayton 23121459ab
refactor: Implement SharedPreferencesRepository.showSelfUsername property (#996) 2024-10-10 20:15:46 +02:00
Nik Clayton e307796251
refactor: Provide properties for more shared preferences (#992)
Continues the work of providing properties with accessors for specific
shared preferences.
2024-10-10 13:12:56 +02:00
Weblate (bot) 367747838d
fix(l10n): Translations update from Hosted Weblate (#989)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org>
2024-10-09 14:00:51 +02:00
Nik Clayton 8587fafaa8
refactor: Expose main navigation preference as an enum (#988) 2024-10-08 15:30:56 +02:00
Weblate Translation Memory 931f9756c1 fix(l10n): Update Burmese translations
Currently translated at 35.7% (5 of 14 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/my/
2024-10-07 10:55:16 +02:00
Kalle Kniivilä 3ec4e15b89 fix(l10n): Update Finnish translations
Currently translated at 100.0% (14 of 14 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/fi/
2024-10-06 19:08:25 +02:00
Languages add-on 07cc558bf0 feat(l10n): Added Burmese translation 2024-10-06 19:08:25 +02:00
Juan M Sevilla 03fbaf61b4 fix(l10n): Update Spanish translations
Currently translated at 100.0% (14 of 14 strings)

Translation: Pachli/Core/Preferences : Main
Translate-URL: https://hosted.weblate.org/projects/pachli/corepreferences-main/es/
2024-10-06 19:08:25 +02:00
Weblate (bot) c72060978b
fix(l10n): Translations update from Hosted Weblate (#956)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org>
Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
2024-09-29 21:45:41 +02:00
Nik Clayton 97558667c8
feat: Allow the user to chose behaviour when tapping a tab (#955)
Previously, tapping a tab would jump to the top of the loaded content,
which might trigger a load of a fresh page.

Provide a preference to control this; the default is the current
behaviour, the user can also choose to discard the current content and
load the newest content.

Fixes #939
2024-09-27 17:38:15 +02:00
Nik Clayton 90537da122
feat: Add option to download media to per-sender directories (#954)
Update `DownloadUrlUseCase` with a parameter to specify the account that
"owns" the media. This is either the account that posted the status, or
the account being viewed (e.g., if downloading an account's header
image).

Add a new `DownloadLocation` enum constant to download to directories
named after that account.

Pass this information through at the call sites.

Fixes #938
2024-09-27 11:29:34 +02:00
Weblate (bot) bf8b80a8ec
fix(l10n): Translations update from Hosted Weblate (#952)
Translations update from [Hosted Weblate](https://hosted.weblate.org)
for [Pachli/Fastlane
Metadata](https://hosted.weblate.org/projects/pachli/fastlane-metadata/).


It also includes following components:

* [Pachli/Core/Activity :
Orange](https://hosted.weblate.org/projects/pachli/coreactivity-orange/)

* [Pachli/App :
Main](https://hosted.weblate.org/projects/pachli/app-main/)

* [Pachli/Feature/Suggestions :
Main](https://hosted.weblate.org/projects/pachli/featuresuggestions-main/)

* [Pachli/Feature/About :
Main](https://hosted.weblate.org/projects/pachli/featureabout-main/)

* [Pachli/Core/Activity :
Main](https://hosted.weblate.org/projects/pachli/coreactivity-main/)

* [Pachli/App :
Fdroid](https://hosted.weblate.org/projects/pachli/app-fdroid/)

* [Pachli/App :
Google](https://hosted.weblate.org/projects/pachli/app-google/)

* [Pachli/Core/Ui :
Main](https://hosted.weblate.org/projects/pachli/coreui-main/)

* [Pachli/Core/Network :
Main](https://hosted.weblate.org/projects/pachli/corenetwork-main/)

*
[Pachli/Feature/Login](https://hosted.weblate.org/projects/pachli/featurelogin/)

* [Pachli/Core/Data :
Main](https://hosted.weblate.org/projects/pachli/coredata-main/)

* [Pachli/Core/Designsystem :
Main](https://hosted.weblate.org/projects/pachli/coredesignsystem-main/)

* [Pachli/Core/Preferences :
Main](https://hosted.weblate.org/projects/pachli/corepreferences-main/)

* [Pachli/Feature/Lists :
Main](https://hosted.weblate.org/projects/pachli/featurelists-main/)



Current translation status:

![Weblate translation
status](https://hosted.weblate.org/widget/pachli/fastlane-metadata/horizontal-auto.svg)

---------

Co-authored-by: Weblate Translation Memory <noreply-mt-weblate-translation-memory@weblate.org>
Co-authored-by: LibreTranslate <noreply-mt-libretranslate@weblate.org>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: josé m <correoxm@disroot.org>
2024-09-27 10:30:43 +02:00
Nik Clayton c30a2ea137
refactor: Implement AppTheme with PreferenceEnum (#951)
Provde an `appTheme` property in `SharedPreferenceRepository` to manage
read access, simplifying calling code.

Update `PreferenceEnum.from` to check the `value` property of the enum
first.

Fixes #950
2024-09-26 22:54:42 +02:00
Nik Clayton 85ab714ec1
feat: Add option to save attachments to per-account folders (#945)
The existing code downloaded any attachments to the user's "Downloads"
folder. If the user is logged in with several accounts these downloads
will be mixed up together.

Fix this by adding a new preference that allows the user to specify the
downloads should be placed in a sub-folder per account, named after the
account.

To do this:

- Add an interface for enums that can be used as preferences, with
properties for the string resource to display and the value to store.
- Add `EnumListPreference`, a `ListPreference` that allows the user to
choose between different enum values.
- Add a `DownloadLocation` enum and preference key so the user can
choose the location.
- Add a `core.domain` module, with a use case for downloading URLs that
respect's the user's download preference. Use this use-case everywhere
that files are currently downloaded.

Fixes #938
2024-09-26 13:51:30 +02:00