new: auto amoled

This commit is contained in:
lollipopkit
2023-11-07 18:22:31 +08:00
parent 2133302397
commit 8693ce07a2
7 changed files with 24 additions and 9 deletions

View File

@@ -371,7 +371,7 @@ abstract class S {
/// No description provided for @deleteScripts. /// No description provided for @deleteScripts.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Delete scripts'** /// **'Delete server scripts at the same time'**
String get deleteScripts; String get deleteScripts;
/// No description provided for @deleteServers. /// No description provided for @deleteServers.

View File

@@ -142,7 +142,7 @@ class SDe extends S {
String get delete => 'Löschen'; String get delete => 'Löschen';
@override @override
String get deleteScripts => 'Skripte löschen'; String get deleteScripts => 'Gleichzeitiges Löschen von Server-Skripten';
@override @override
String get deleteServers => 'Batch-Löschung von Servern'; String get deleteServers => 'Batch-Löschung von Servern';

View File

@@ -142,7 +142,7 @@ class SEn extends S {
String get delete => 'Delete'; String get delete => 'Delete';
@override @override
String get deleteScripts => 'Delete scripts'; String get deleteScripts => 'Delete server scripts at the same time';
@override @override
String get deleteServers => 'Batch delete servers'; String get deleteServers => 'Batch delete servers';

View File

@@ -142,7 +142,7 @@ class SId extends S {
String get delete => 'Menghapus'; String get delete => 'Menghapus';
@override @override
String get deleteScripts => 'Menghapus skrip'; String get deleteScripts => 'Menghapus skrip server secara bersamaan';
@override @override
String get deleteServers => 'Penghapusan server secara batch'; String get deleteServers => 'Penghapusan server secara batch';

View File

@@ -39,10 +39,16 @@ class MyApp extends StatelessWidget {
listenable: RebuildNodes.app, listenable: RebuildNodes.app,
build: () { build: () {
final tMode = Stores.setting.themeMode.fetch(); final tMode = Stores.setting.themeMode.fetch();
final isAMOLED = tMode >= 0 && tMode <= ThemeMode.values.length - 1;
// Issue #57 // Issue #57
// if not [ok] -> [AMOLED] mode, use [ThemeMode.dark] var themeMode = ThemeMode.system;
final themeMode = isAMOLED ? ThemeMode.values[tMode] : ThemeMode.dark; switch (tMode) {
case 1 || 2:
themeMode = ThemeMode.values[tMode];
break;
case 3:
themeMode = ThemeMode.dark;
break;
}
final locale = Stores.setting.locale.fetch().toLocale; final locale = Stores.setting.locale.fetch().toLocale;
final darkTheme = ThemeData( final darkTheme = ThemeData(
useMaterial3: true, useMaterial3: true,
@@ -62,7 +68,7 @@ class MyApp extends StatelessWidget {
useMaterial3: true, useMaterial3: true,
colorSchemeSeed: primaryColor, colorSchemeSeed: primaryColor,
), ),
darkTheme: isAMOLED ? darkTheme : _getAmoledTheme(darkTheme), darkTheme: tMode < 3 ? darkTheme : _getAmoledTheme(darkTheme),
home: Stores.setting.fullScreen.fetch() home: Stores.setting.fullScreen.fetch()
? const FullScreenPage() ? const FullScreenPage()
: const HomePage(), : const HomePage(),

View File

@@ -82,7 +82,7 @@ class SettingStore extends PersistentStore {
// Max retry count when connect to server // Max retry count when connect to server
late final maxRetryCount = StoreProperty(box, 'maxRetryCount', 2); late final maxRetryCount = StoreProperty(box, 'maxRetryCount', 2);
// Night mode: 0 -> auto, 1 -> light, 2 -> dark // Night mode: 0 -> auto, 1 -> light, 2 -> dark, 3 -> AMOLED, 4 -> AUTO-AMOLED
late final themeMode = StoreProperty(box, 'themeMode', 0); late final themeMode = StoreProperty(box, 'themeMode', 0);
// Font file path // Font file path

View File

@@ -480,8 +480,15 @@ class _SettingPageState extends State<SettingPage> {
.toList(); .toList();
// Issue #57 // Issue #57
final len = ThemeMode.values.length; final len = ThemeMode.values.length;
/// Add AMOLED theme
items.add(PopupMenuItem(value: len, child: Text(_buildThemeModeStr(len)))); items.add(PopupMenuItem(value: len, child: Text(_buildThemeModeStr(len))));
/// Add AUTO-AMOLED theme
items.add(
PopupMenuItem(value: len + 1, child: Text(_buildThemeModeStr(len + 1))),
);
return ListTile( return ListTile(
title: Text( title: Text(
l10n.themeMode, l10n.themeMode,
@@ -518,6 +525,8 @@ class _SettingPageState extends State<SettingPage> {
return l10n.dark; return l10n.dark;
case 3: case 3:
return 'AMOLED'; return 'AMOLED';
case 4:
return '${l10n.auto} AMOLED';
default: default:
return l10n.auto; return l10n.auto;
} }