custom show fs screenshot btn

Closes #1103

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-08-24 13:59:01 +08:00
parent f942b2a7ee
commit 6c52db1c6c
5 changed files with 16 additions and 3 deletions

View File

@@ -42,6 +42,13 @@ List<SettingsModel> get playSettings => [
setKey: SettingBoxKey.autoPlayEnable, setKey: SettingBoxKey.autoPlayEnable,
defaultVal: false, defaultVal: false,
), ),
const SettingsModel(
settingsType: SettingsType.sw1tch,
title: '全屏显示截图按钮',
leading: Icon(Icons.photo_camera_outlined),
setKey: SettingBoxKey.showFsScreenshotBtn,
defaultVal: true,
),
const SettingsModel( const SettingsModel(
settingsType: SettingsType.sw1tch, settingsType: SettingsType.sw1tch,
title: '双击快退/快进', title: '双击快退/快进',

View File

@@ -326,6 +326,7 @@ class PlPlayerController {
late final reverseFromFirst = Pref.reverseFromFirst; late final reverseFromFirst = Pref.reverseFromFirst;
late final horizontalPreview = Pref.horizontalPreview; late final horizontalPreview = Pref.horizontalPreview;
late final showDmChart = Pref.showDmChart; late final showDmChart = Pref.showDmChart;
late final showFsScreenshotBtn = Pref.showFsScreenshotBtn;
late final bool autoExitFullscreen = Pref.autoExitFullscreen; late final bool autoExitFullscreen = Pref.autoExitFullscreen;
late final bool autoPlayEnable = Pref.autoPlayEnable; late final bool autoPlayEnable = Pref.autoPlayEnable;

View File

@@ -1611,7 +1611,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
), ),
// 截图 // 截图
if (isFullScreen) if (isFullScreen && plPlayerController.showFsScreenshotBtn)
ViewSafeArea( ViewSafeArea(
left: false, left: false,
child: Obx( child: Obx(
@@ -1656,6 +1656,8 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
shape: const RoundedRectangleBorder(), shape: const RoundedRectangleBorder(),
content: GestureDetector( content: GestureDetector(
onTap: () async { onTap: () async {
Get.back();
String name = DateTime.now() String name = DateTime.now()
.toString(); .toString();
final SaveResult result = final SaveResult result =
@@ -1668,7 +1670,6 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
); );
if (result.isSuccess) { if (result.isSuccess) {
Get.back();
SmartDialog.showToast( SmartDialog.showToast(
'$name.png已保存到相册/截图', '$name.png已保存到相册/截图',
); );

View File

@@ -131,7 +131,8 @@ class SettingBoxKey {
memberTab = 'memberTab', memberTab = 'memberTab',
dynamicDetailRatio = 'dynamicDetailRatio', dynamicDetailRatio = 'dynamicDetailRatio',
directExitOnBack = 'directExitOnBack', directExitOnBack = 'directExitOnBack',
quickFavId = 'quickFavId'; quickFavId = 'quickFavId',
showFsScreenshotBtn = 'showFsScreenshotBtn';
static const String subtitlePreferenceV2 = 'subtitlePreferenceV2', static const String subtitlePreferenceV2 = 'subtitlePreferenceV2',
enableDragSubtitle = 'enableDragSubtitle', enableDragSubtitle = 'enableDragSubtitle',

View File

@@ -791,4 +791,7 @@ class Pref {
} }
return null; return null;
} }
static bool get showFsScreenshotBtn =>
_setting.get(SettingBoxKey.showFsScreenshotBtn, defaultValue: true);
} }