mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-08-01 05:10:15 +02:00
Partially rollback system theme (#1552)
This commit is contained in:
@@ -113,6 +113,7 @@
|
|||||||
"dark": "Dark",
|
"dark": "Dark",
|
||||||
"light": "Light",
|
"light": "Light",
|
||||||
"followSystem": "Follow System",
|
"followSystem": "Follow System",
|
||||||
|
"followSystemThemeExplanation": "Following system theme is possible only by using third-party applications",
|
||||||
"useBlackTheme": "Use pure black dark theme",
|
"useBlackTheme": "Use pure black dark theme",
|
||||||
"appSortBy": "App Sort By",
|
"appSortBy": "App Sort By",
|
||||||
"authorName": "Author/Name",
|
"authorName": "Author/Name",
|
||||||
|
@@ -113,6 +113,7 @@
|
|||||||
"dark": "Тёмная",
|
"dark": "Тёмная",
|
||||||
"light": "Светлая",
|
"light": "Светлая",
|
||||||
"followSystem": "Системная",
|
"followSystem": "Системная",
|
||||||
|
"followSystemThemeExplanation": "Следование системной теме возможно только при использовании сторонних приложений",
|
||||||
"useBlackTheme": "Использовать чёрную тему",
|
"useBlackTheme": "Использовать чёрную тему",
|
||||||
"appSortBy": "Сортировка приложений",
|
"appSortBy": "Сортировка приложений",
|
||||||
"authorName": "Автор/Название",
|
"authorName": "Автор/Название",
|
||||||
|
@@ -88,30 +88,12 @@ class _SettingsPageState extends State<SettingsPage> {
|
|||||||
initUpdateIntervalInterpolator();
|
initUpdateIntervalInterpolator();
|
||||||
processIntervalSliderValue(settingsProvider.updateIntervalSliderVal);
|
processIntervalSliderValue(settingsProvider.updateIntervalSliderVal);
|
||||||
|
|
||||||
var themeDropdown = FutureBuilder(
|
var followSystemThemeExplanation = FutureBuilder(
|
||||||
builder: (ctx, val) {
|
builder: (ctx, val) {
|
||||||
return DropdownButtonFormField(
|
return ((val.data?.version.sdkInt ?? 30) < 29) ?
|
||||||
decoration: InputDecoration(labelText: tr('theme')),
|
Text(tr('followSystemThemeExplanation'),
|
||||||
value: settingsProvider.theme,
|
style: Theme.of(context).textTheme.labelSmall)
|
||||||
items: [
|
: const SizedBox.shrink();
|
||||||
DropdownMenuItem(
|
|
||||||
value: ThemeSettings.light,
|
|
||||||
child: Text(tr('light')),
|
|
||||||
),
|
|
||||||
DropdownMenuItem(
|
|
||||||
value: ThemeSettings.dark,
|
|
||||||
child: Text(tr('dark')),
|
|
||||||
),
|
|
||||||
if ((val.data?.version.sdkInt ?? 0) >= 29) DropdownMenuItem(
|
|
||||||
value: ThemeSettings.system,
|
|
||||||
child: Text(tr('followSystem')),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
onChanged: (value) {
|
|
||||||
if (value != null) {
|
|
||||||
settingsProvider.theme = value;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
future: DeviceInfoPlugin().androidInfo
|
future: DeviceInfoPlugin().androidInfo
|
||||||
);
|
);
|
||||||
@@ -583,7 +565,31 @@ class _SettingsPageState extends State<SettingsPage> {
|
|||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
color: Theme.of(context).colorScheme.primary),
|
color: Theme.of(context).colorScheme.primary),
|
||||||
),
|
),
|
||||||
themeDropdown,
|
DropdownButtonFormField(
|
||||||
|
decoration: InputDecoration(labelText: tr('theme')),
|
||||||
|
value: settingsProvider.theme,
|
||||||
|
items: [
|
||||||
|
DropdownMenuItem(
|
||||||
|
value: ThemeSettings.system,
|
||||||
|
child: Text(tr('followSystem')),
|
||||||
|
),
|
||||||
|
DropdownMenuItem(
|
||||||
|
value: ThemeSettings.light,
|
||||||
|
child: Text(tr('light')),
|
||||||
|
),
|
||||||
|
DropdownMenuItem(
|
||||||
|
value: ThemeSettings.dark,
|
||||||
|
child: Text(tr('dark')),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
onChanged: (value) {
|
||||||
|
if (value != null) {
|
||||||
|
settingsProvider.theme = value;
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
height8,
|
||||||
|
if (settingsProvider.theme == ThemeSettings.system)
|
||||||
|
followSystemThemeExplanation,
|
||||||
height16,
|
height16,
|
||||||
if (settingsProvider.theme != ThemeSettings.light)
|
if (settingsProvider.theme != ThemeSettings.light)
|
||||||
Row(
|
Row(
|
||||||
|
@@ -19,7 +19,7 @@ String obtainiumId = 'dev.imranr.obtainium';
|
|||||||
String obtainiumUrl = 'https://github.com/ImranR98/Obtainium';
|
String obtainiumUrl = 'https://github.com/ImranR98/Obtainium';
|
||||||
Color obtainiumThemeColor = const Color(0xFF6438B5);
|
Color obtainiumThemeColor = const Color(0xFF6438B5);
|
||||||
|
|
||||||
enum ThemeSettings { light, dark, system }
|
enum ThemeSettings { system, light, dark }
|
||||||
|
|
||||||
enum SortColumnSettings { added, nameAuthor, authorName, releaseDate }
|
enum SortColumnSettings { added, nameAuthor, authorName, releaseDate }
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ class SettingsProvider with ChangeNotifier {
|
|||||||
|
|
||||||
ThemeSettings get theme {
|
ThemeSettings get theme {
|
||||||
return ThemeSettings
|
return ThemeSettings
|
||||||
.values[prefs?.getInt('theme') ?? ThemeSettings.light.index];
|
.values[prefs?.getInt('theme') ?? ThemeSettings.system.index];
|
||||||
}
|
}
|
||||||
|
|
||||||
set theme(ThemeSettings t) {
|
set theme(ThemeSettings t) {
|
||||||
|
Reference in New Issue
Block a user