mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-04-20 03:06:59 +08:00
global escape
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -264,38 +264,46 @@ class MyApp extends StatelessWidget {
|
||||
child: child!,
|
||||
);
|
||||
if (Utils.isDesktop) {
|
||||
return MouseBackDetector(
|
||||
onTapDown: () {
|
||||
if (SmartDialog.checkExist()) {
|
||||
SmartDialog.dismiss();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Get.isDialogOpen ?? Get.isBottomSheetOpen ?? false) {
|
||||
Get.back();
|
||||
return;
|
||||
}
|
||||
|
||||
final plCtr = PlPlayerController.instance;
|
||||
if (plCtr != null) {
|
||||
if (plCtr.isFullScreen.value == true) {
|
||||
plCtr
|
||||
..triggerFullScreen(status: false)
|
||||
..controlsLock.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (plCtr.isDesktopPip) {
|
||||
plCtr.exitDesktopPip().whenComplete(
|
||||
() => plCtr.initialFocalPoint = Offset.zero,
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
void onBack() {
|
||||
if (SmartDialog.checkExist()) {
|
||||
SmartDialog.dismiss();
|
||||
return;
|
||||
}
|
||||
|
||||
if (Get.isDialogOpen ?? Get.isBottomSheetOpen ?? false) {
|
||||
Get.back();
|
||||
return;
|
||||
}
|
||||
|
||||
final plCtr = PlPlayerController.instance;
|
||||
if (plCtr != null) {
|
||||
if (plCtr.isFullScreen.value == true) {
|
||||
plCtr
|
||||
..triggerFullScreen(status: false)
|
||||
..controlsLock.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (plCtr.isDesktopPip) {
|
||||
plCtr.exitDesktopPip().whenComplete(
|
||||
() => plCtr.initialFocalPoint = Offset.zero,
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Get.back();
|
||||
}
|
||||
|
||||
return Shortcuts(
|
||||
shortcuts: {
|
||||
LogicalKeySet(LogicalKeyboardKey.escape):
|
||||
VoidCallbackIntent(onBack),
|
||||
},
|
||||
child: child,
|
||||
child: MouseBackDetector(
|
||||
onTapDown: onBack,
|
||||
child: child,
|
||||
),
|
||||
);
|
||||
}
|
||||
return child;
|
||||
|
||||
@@ -163,18 +163,6 @@ class PlayerFocus extends StatelessWidget {
|
||||
..controlsLock.value = false;
|
||||
return true;
|
||||
|
||||
case LogicalKeyboardKey.escape:
|
||||
if (plPlayerController.controlsLock.value) {
|
||||
plPlayerController.onLockControl(false);
|
||||
} else if (plPlayerController.isDesktopPip) {
|
||||
plPlayerController.exitDesktopPip();
|
||||
} else if (isFullScreen) {
|
||||
plPlayerController.triggerFullScreen(status: false);
|
||||
} else {
|
||||
Get.back();
|
||||
}
|
||||
return true;
|
||||
|
||||
case LogicalKeyboardKey.keyD:
|
||||
if (plPlayerController.isLive) {
|
||||
final newVal = !plPlayerController.enableShowLiveDanmaku.value;
|
||||
|
||||
Reference in New Issue
Block a user