Merge pull request #3006 from Kingtous/master

fix: set edge size to zero when in fullscreen mode
This commit is contained in:
RustDesk 2023-01-30 22:03:21 +08:00 committed by GitHub
commit 99bf4e939c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 8 deletions

View File

@ -8,6 +8,7 @@ import 'package:auto_size_text/auto_size_text.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hbb/consts.dart'; import 'package:flutter_hbb/consts.dart';
import 'package:flutter_hbb/desktop/widgets/scroll_wrapper.dart'; import 'package:flutter_hbb/desktop/widgets/scroll_wrapper.dart';
import 'package:flutter_hbb/models/state_model.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_launcher/url_launcher_string.dart';
import 'package:window_manager/window_manager.dart'; import 'package:window_manager/window_manager.dart';
@ -92,6 +93,18 @@ class _ConnectionPageState extends State<ConnectionPage>
} }
} }
@override
void onWindowEnterFullScreen() {
// Remove edge border by setting the value to zero.
stateGlobal.resizeEdgeSize.value = 0;
}
@override
void onWindowLeaveFullScreen() {
// Restore edge border to default edge size.
stateGlobal.resizeEdgeSize.value = kWindowEdgeSize;
}
@override @override
void onWindowClose() { void onWindowClose() {
super.onWindowClose(); super.onWindowClose();

View File

@ -38,8 +38,9 @@ class ConnectionTabPage extends StatefulWidget {
} }
class _ConnectionTabPageState extends State<ConnectionTabPage> { class _ConnectionTabPageState extends State<ConnectionTabPage> {
final tabController = Get.put(DesktopTabController( final tabController =
tabType: DesktopTabType.remoteScreen)); Get.put(DesktopTabController(tabType: DesktopTabType.remoteScreen));
final contentKey = UniqueKey();
static const IconData selectedIcon = Icons.desktop_windows_sharp; static const IconData selectedIcon = Icons.desktop_windows_sharp;
static const IconData unselectedIcon = Icons.desktop_windows_outlined; static const IconData unselectedIcon = Icons.desktop_windows_outlined;
@ -81,7 +82,6 @@ class _ConnectionTabPageState extends State<ConnectionTabPage> {
tabController.onRemoved = (_, id) => onRemoveId(id); tabController.onRemoved = (_, id) => onRemoveId(id);
rustDeskWinManager.setMethodHandler((call, fromWindowId) async { rustDeskWinManager.setMethodHandler((call, fromWindowId) async {
print( print(
"[Remote Page] call ${call.method} with args ${call.arguments} from window $fromWindowId"); "[Remote Page] call ${call.method} with args ${call.arguments} from window $fromWindowId");
@ -197,11 +197,12 @@ class _ConnectionTabPageState extends State<ConnectionTabPage> {
); );
return Platform.isMacOS return Platform.isMacOS
? tabWidget ? tabWidget
: SubWindowDragToResizeArea( : Obx(() => SubWindowDragToResizeArea(
child: tabWidget, key: contentKey,
resizeEdgeSize: stateGlobal.resizeEdgeSize.value, child: tabWidget,
windowId: stateGlobal.windowId, resizeEdgeSize: stateGlobal.resizeEdgeSize.value,
); windowId: stateGlobal.windowId,
));
} }
// Note: Some dup code to ../widgets/remote_menubar // Note: Some dup code to ../widgets/remote_menubar