From 1c390a7f04c9ef73343d873354ea415bcf204bce Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Sun, 16 Jul 2023 11:41:02 -0400 Subject: [PATCH] Add reverse transition animation toggle (#683) --- assets/translations/de.json | 1 + assets/translations/en.json | 1 + assets/translations/es.json | 1 + assets/translations/fa.json | 1 + assets/translations/fr.json | 1 + assets/translations/hu.json | 1 + assets/translations/it.json | 1 + assets/translations/ja.json | 1 + assets/translations/pl.json | 1 + assets/translations/ru.json | 1 + assets/translations/zh.json | 1 + lib/pages/home.dart | 4 +++- lib/pages/settings.dart | 15 +++++++++++++++ lib/providers/settings_provider.dart | 9 +++++++++ 14 files changed, 38 insertions(+), 1 deletion(-) diff --git a/assets/translations/de.json b/assets/translations/de.json index fbb9ed9..bee3009 100644 --- a/assets/translations/de.json +++ b/assets/translations/de.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "App entfernen?", "other": "Apps entfernen?" diff --git a/assets/translations/en.json b/assets/translations/en.json index 08d8bb5..6937f3e 100644 --- a/assets/translations/en.json +++ b/assets/translations/en.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "Remove App?", "other": "Remove Apps?" diff --git a/assets/translations/es.json b/assets/translations/es.json index 5b3ecec..a572f71 100644 --- a/assets/translations/es.json +++ b/assets/translations/es.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "¿Eliminar Aplicación?", "other": "¿Eliminar Aplicaciones?" diff --git a/assets/translations/fa.json b/assets/translations/fa.json index 8110064..4db143d 100644 --- a/assets/translations/fa.json +++ b/assets/translations/fa.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "برنامه حذف شود؟", "other": "برنامه ها حذف شوند؟" diff --git a/assets/translations/fr.json b/assets/translations/fr.json index 7b26b45..8c014b4 100644 --- a/assets/translations/fr.json +++ b/assets/translations/fr.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "Supprimer l'application ?", "other": "Supprimer les applications ?" diff --git a/assets/translations/hu.json b/assets/translations/hu.json index 4dc30ba..32fd821 100644 --- a/assets/translations/hu.json +++ b/assets/translations/hu.json @@ -237,6 +237,7 @@ "pickHighestVersionCode": "A legmagasabb verziószámú APK auto. kiválasztása", "checkUpdateOnDetailPage": "Frissítések keresése az app részleteit tartalmazó oldal megnyitásakor", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "Eltávolítja az alkalmazást?", "other": "Eltávolítja az alkalmazást?" diff --git a/assets/translations/it.json b/assets/translations/it.json index 9c368e1..057d88f 100644 --- a/assets/translations/it.json +++ b/assets/translations/it.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "Rimuovere l'app?", "other": "Rimuovere le app?" diff --git a/assets/translations/ja.json b/assets/translations/ja.json index eff5b48..c88ee6e 100644 --- a/assets/translations/ja.json +++ b/assets/translations/ja.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "最も高いバージョンコードのAPKを自動的に選択する", "checkUpdateOnDetailPage": "アプリの詳細ページを開く際にアップデートを確認する", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "アプリを削除しますか?", "other": "アプリを削除しますか?" diff --git a/assets/translations/pl.json b/assets/translations/pl.json index 28c6b43..726d1da 100644 --- a/assets/translations/pl.json +++ b/assets/translations/pl.json @@ -242,6 +242,7 @@ "pickHighestVersionCode": "Automatycznie wybierz najwyższy kod wersji APK", "checkUpdateOnDetailPage": "Sprawdzaj aktualizacje podczas otwierania strony szczegółów aplikacji", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "Usunąć aplikację?", "other": "Usunąć aplikacje?" diff --git a/assets/translations/ru.json b/assets/translations/ru.json index c36c992..7d5f874 100644 --- a/assets/translations/ru.json +++ b/assets/translations/ru.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Автовыбор кода наивысшей версии APK", "checkUpdateOnDetailPage": "Проверять наличие обновлений при открытии страницы представления приложения", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "Удалить приложение?", "other": "Удалить приложения?" diff --git a/assets/translations/zh.json b/assets/translations/zh.json index f8828ee..2904972 100644 --- a/assets/translations/zh.json +++ b/assets/translations/zh.json @@ -238,6 +238,7 @@ "pickHighestVersionCode": "Auto-select highest version code APK", "checkUpdateOnDetailPage": "Check for updates on opening an App detail page", "disablePageTransitions": "Disable page transition animations", + "reversePageTransitions": "Reverse page transition animations", "removeAppQuestion": { "one": "是否删除应用?", "other": "是否删除应用?" diff --git a/lib/pages/home.dart b/lib/pages/home.dart index 0c9cc3a..c14e83f 100644 --- a/lib/pages/home.dart +++ b/lib/pages/home.dart @@ -94,7 +94,9 @@ class _HomePageState extends State { duration: Duration( milliseconds: settingsProvider.disablePageTransitions ? 0 : 300), - reverse: isReversing, + reverse: settingsProvider.reversePageTransitions + ? !isReversing + : isReversing, transitionBuilder: ( Widget child, Animation animation, diff --git a/lib/pages/settings.dart b/lib/pages/settings.dart index bfd52df..950d2d5 100644 --- a/lib/pages/settings.dart +++ b/lib/pages/settings.dart @@ -411,6 +411,21 @@ class _SettingsPageState extends State { }) ], ), + height16, + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Flexible( + child: Text(tr('reversePageTransitions'))), + Switch( + value: + settingsProvider.reversePageTransitions, + onChanged: (value) { + settingsProvider.reversePageTransitions = + value; + }) + ], + ), height32, Text( tr('categories'), diff --git a/lib/providers/settings_provider.dart b/lib/providers/settings_provider.dart index deef897..ea79e38 100644 --- a/lib/providers/settings_provider.dart +++ b/lib/providers/settings_provider.dart @@ -300,4 +300,13 @@ class SettingsProvider with ChangeNotifier { prefs?.setBool('disablePageTransitions', show); notifyListeners(); } + + bool get reversePageTransitions { + return prefs?.getBool('reversePageTransitions') ?? false; + } + + set reversePageTransitions(bool show) { + prefs?.setBool('reversePageTransitions', show); + notifyListeners(); + } }