feat(preferences): Add email sync interval setting (#710)

* feat(preferences):  Add email sync interval setting

Introduced a new property `EmailSyncIntervalMinutes` in the `IPreferencesService` interface to allow users to configure the email synchronization interval in minutes. This feature enhances user control over email sync behavior.

• Updated `resources.json` to include translations for the new setting.
• Implemented the logic for the new property in `PreferencesService.cs`, with a default value of 3 minutes.
• Added binding and UI support in `AppPreferencesPageViewModel.cs` and `AppPreferencesPage.xaml` to allow users to modify the sync interval.
• Integrated the new setting into `ServerContext.cs` to dynamically adjust the synchronization timer based on user preferences.

This change improves the user experience by providing customizable email synchronization settings.

* Minimum interval and added an icon.

* Proper SetProperty usage.

* Making sure the minimum sync interval is 1 in the ServerContext.

* Making sure the minimum is applied to first trigger of the sync timer.

---------

Co-authored-by: Burak Kaan Köse <bkaankose@outlook.com>
This commit is contained in:
Maicol Battistini
2025-07-24 09:45:35 +02:00
committed by GitHub
parent 8cd7f68c30
commit c2bb07ff3d
7 changed files with 66 additions and 5 deletions

View File

@@ -689,7 +689,9 @@
"WinoUpgradeDescription": "Wino offre 3 account per iniziare gratuitamente. Se hai bisogno di più di 3 account, per favore aggiorna",
"WinoUpgradeMessage": "Aggiorna ad account illimitati",
"WinoUpgradeRemainingAccountsMessage": "{0} di {1} account gratuiti usati.",
"Yesterday": "Ieri"
"Yesterday": "Ieri",
"SettingsAppPreferences_EmailSyncInterval_Title": "Intervallo sincronizzazione email",
"SettingsAppPreferences_EmailSyncInterval_Description": "Intervallo di sincronizzazione automatica delle email (minuti). Questa impostazione verrà applicata solo dopo il riavvio di Wino Mail."
}