use ValueGetter

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-12-14 14:14:27 +08:00
parent bc5ce11449
commit 1cd949c365
8 changed files with 11 additions and 13 deletions

View File

@@ -323,7 +323,7 @@ Future<void> showImportExportDialog<T>(
BuildContext context, {
required String title,
String? label,
required String Function() toJson,
required ValueGetter<String> toJson,
required FutureOr<bool> Function(T json) fromJson,
}) => showDialog(
context: context,

View File

@@ -30,8 +30,8 @@ sealed class SettingsModel {
class NormalModel extends SettingsModel {
@override
final String? title;
final StringGetter? getTitle;
final StringGetter? getSubtitle;
final ValueGetter<String>? getTitle;
final ValueGetter<String>? getSubtitle;
final Widget Function()? getTrailing;
final void Function(BuildContext context, void Function() setState)? onTap;

View File

@@ -1,13 +1,11 @@
import 'package:PiliPlus/common/widgets/flutter/list_tile.dart';
import 'package:flutter/material.dart' hide ListTile;
typedef StringGetter = String Function();
class NormalItem extends StatefulWidget {
final String? title;
final StringGetter? getTitle;
final ValueGetter<String>? getTitle;
final String? subtitle;
final StringGetter? getSubtitle;
final ValueGetter<String>? getSubtitle;
final Widget? leading;
final Widget Function()? getTrailing;
final void Function(BuildContext context, void Function() setState)? onTap;

View File

@@ -5,7 +5,7 @@ typedef PopupMenuItemSelected<T> = bool Function(T value);
class PopupMenuText<T> extends StatelessWidget {
final String title;
final T Function() value;
final ValueGetter<T> value;
final PopupMenuItemSelected<T> onSelected;
final PopupMenuItemBuilder<T> itemBuilder;
final String Function(T) getSelectTitle;

View File

@@ -28,8 +28,8 @@ class PlayerFocus extends StatelessWidget {
final PlPlayerController plPlayerController;
final CommonIntroController? introController;
final VoidCallback onSendDanmaku;
final bool Function()? canPlay;
final bool Function()? onSkipSegment;
final ValueGetter<bool>? canPlay;
final ValueGetter<bool>? onSkipSegment;
static bool _shouldHandle(LogicalKeyboardKey logicalKey) {
return logicalKey == LogicalKeyboardKey.tab ||