mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 03:06:59 +08:00
opt desktop pip
Closes #1478 Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -169,27 +169,28 @@ class BottomControl extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
),
|
||||
ComBtn(
|
||||
height: 30,
|
||||
tooltip: isFullScreen ? '退出全屏' : '全屏',
|
||||
icon: isFullScreen
|
||||
? const Icon(
|
||||
Icons.fullscreen_exit,
|
||||
size: 24,
|
||||
color: Colors.white,
|
||||
)
|
||||
: const Icon(
|
||||
Icons.fullscreen,
|
||||
size: 24,
|
||||
color: Colors.white,
|
||||
),
|
||||
onTap: () =>
|
||||
plPlayerController.triggerFullScreen(status: !isFullScreen),
|
||||
onSecondaryTap: () => plPlayerController.triggerFullScreen(
|
||||
status: !isFullScreen,
|
||||
inAppFullScreen: true,
|
||||
if (!plPlayerController.isDesktopPip)
|
||||
ComBtn(
|
||||
height: 30,
|
||||
tooltip: isFullScreen ? '退出全屏' : '全屏',
|
||||
icon: isFullScreen
|
||||
? const Icon(
|
||||
Icons.fullscreen_exit,
|
||||
size: 24,
|
||||
color: Colors.white,
|
||||
)
|
||||
: const Icon(
|
||||
Icons.fullscreen,
|
||||
size: 24,
|
||||
color: Colors.white,
|
||||
),
|
||||
onTap: () =>
|
||||
plPlayerController.triggerFullScreen(status: !isFullScreen),
|
||||
onSecondaryTap: () => plPlayerController.triggerFullScreen(
|
||||
status: !isFullScreen,
|
||||
inAppFullScreen: true,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
|
||||
@@ -110,7 +110,7 @@ class LiveHeaderControl extends StatelessWidget {
|
||||
);
|
||||
},
|
||||
),
|
||||
if (Platform.isAndroid || Utils.isDesktop)
|
||||
if (Platform.isAndroid || (Utils.isDesktop && !isFullScreen))
|
||||
ComBtn(
|
||||
tooltip: '画中画',
|
||||
onTap: () async {
|
||||
|
||||
@@ -2450,7 +2450,7 @@ class HeaderControlState extends State<HeaderControl> {
|
||||
),
|
||||
),
|
||||
],
|
||||
if (Platform.isAndroid || Utils.isDesktop)
|
||||
if (Platform.isAndroid || (Utils.isDesktop && !isFullScreen))
|
||||
SizedBox(
|
||||
width: 42,
|
||||
height: 34,
|
||||
|
||||
@@ -180,7 +180,7 @@ class PlayerFocus extends StatelessWidget {
|
||||
return true;
|
||||
|
||||
case LogicalKeyboardKey.keyP:
|
||||
if (Utils.isDesktop && hasPlayer) {
|
||||
if (Utils.isDesktop && hasPlayer && !isFullScreen) {
|
||||
plPlayerController
|
||||
..toggleDesktopPip()
|
||||
..controlsLock.value = false;
|
||||
|
||||
@@ -281,6 +281,8 @@ class PlPlayerController {
|
||||
}
|
||||
|
||||
Future<void> enterDesktopPip() async {
|
||||
if (isFullScreen.value) return;
|
||||
|
||||
isDesktopPip = true;
|
||||
|
||||
_lastWindowBounds = await windowManager.getBounds();
|
||||
@@ -1572,6 +1574,7 @@ class PlPlayerController {
|
||||
bool isManualFS = true,
|
||||
FullScreenMode? mode,
|
||||
}) async {
|
||||
if (isDesktopPip) return;
|
||||
if (isFullScreen.value == status) return;
|
||||
|
||||
if (fsProcessing) {
|
||||
@@ -1916,4 +1919,4 @@ class PlPlayerController {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -843,7 +843,7 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
|
||||
BottomControlType.subtitle,
|
||||
BottomControlType.speed,
|
||||
if (flag) BottomControlType.qa,
|
||||
BottomControlType.fullscreen,
|
||||
if (!plPlayerController.isDesktopPip) BottomControlType.fullscreen,
|
||||
];
|
||||
|
||||
return Row(
|
||||
|
||||
Reference in New Issue
Block a user