feat: loudnorm (#1358)

* feat: loudnorm

* fix

* fix: android only

* fix: toString
This commit is contained in:
My-Responsitories
2025-09-28 22:16:33 +08:00
committed by GitHub
parent 046412b709
commit 22c57bf468
14 changed files with 307 additions and 199 deletions

View File

@@ -16,6 +16,7 @@ class SelectDialog<T> extends StatelessWidget {
final String title;
final List<(T, String)> values;
final Widget Function(BuildContext, int)? subtitleBuilder;
final bool toggleable;
const SelectDialog({
super.key,
@@ -23,11 +24,12 @@ class SelectDialog<T> extends StatelessWidget {
required this.values,
required this.title,
this.subtitleBuilder,
this.toggleable = false,
});
@override
Widget build(BuildContext context) {
final titleMedium = Theme.of(context).textTheme.titleMedium!;
final titleMedium = TextTheme.of(context).titleMedium!;
return AlertDialog(
clipBehavior: Clip.hardEdge,
title: Text(title),
@@ -37,7 +39,7 @@ class SelectDialog<T> extends StatelessWidget {
contentPadding: const EdgeInsets.symmetric(vertical: 12),
content: SingleChildScrollView(
child: RadioGroup<T>(
onChanged: Navigator.of(context).pop,
onChanged: (v) => Navigator.of(context).pop(v ?? value),
groupValue: value,
child: Column(
mainAxisSize: MainAxisSize.min,
@@ -46,6 +48,7 @@ class SelectDialog<T> extends StatelessWidget {
(index) {
final item = values[index];
return RadioListTile<T>(
toggleable: toggleable,
dense: true,
value: item.$1,
title: Text(

View File

@@ -9,7 +9,7 @@ import 'package:get/get.dart';
class SetSwitchItem extends StatefulWidget {
final String? title;
final String? subtitle;
final String? setKey;
final String setKey;
final bool defaultVal;
final ValueChanged<bool>? onChanged;
final bool needReboot;
@@ -21,7 +21,7 @@ class SetSwitchItem extends StatefulWidget {
const SetSwitchItem({
this.title,
this.subtitle,
this.setKey,
required this.setKey,
this.defaultVal = false,
this.onChanged,
this.needReboot = false,