Fix. Custom client, maxmize of incoming only (#7406)
* Fix. Custom client, maxmize of incoming only Signed-off-by: fufesou <shuanglongchen@yeah.net> * format Signed-off-by: fufesou <shuanglongchen@yeah.net> --------- Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
efd1f24ab2
commit
fc90526258
@ -3131,3 +3131,8 @@ Size getIncomingOnlyHomeSize() {
|
||||
Size getIncomingOnlySettingsSize() {
|
||||
return Size(768, 600);
|
||||
}
|
||||
|
||||
bool isInHomePage() {
|
||||
final controller = Get.find<DesktopTabController>();
|
||||
return controller.state.value.selected == 0;
|
||||
}
|
||||
|
@ -13,7 +13,6 @@ import 'package:flutter_hbb/desktop/pages/connection_page.dart';
|
||||
import 'package:flutter_hbb/desktop/pages/desktop_setting_page.dart';
|
||||
import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart';
|
||||
import 'package:flutter_hbb/desktop/widgets/scroll_wrapper.dart';
|
||||
import 'package:flutter_hbb/desktop/widgets/tabbar_widget.dart';
|
||||
import 'package:flutter_hbb/models/platform_model.dart';
|
||||
import 'package:flutter_hbb/models/server_model.dart';
|
||||
import 'package:flutter_hbb/plugin/ui_manager.dart';
|
||||
@ -56,11 +55,6 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
||||
|
||||
final GlobalKey _childKey = GlobalKey();
|
||||
|
||||
bool _isInHomePage() {
|
||||
final controller = Get.find<DesktopTabController>();
|
||||
return controller.state.value.selected == 0;
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
super.build(context);
|
||||
@ -152,7 +146,7 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
||||
builder: (_, data) {
|
||||
if (data.hasData) {
|
||||
if (isIncomingOnly) {
|
||||
if (_isInHomePage()) {
|
||||
if (isInHomePage()) {
|
||||
Future.delayed(Duration(milliseconds: 300), () {
|
||||
_updateWindowSize();
|
||||
});
|
||||
@ -171,7 +165,7 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
||||
Divider(),
|
||||
OnlineStatusWidget(
|
||||
onSvcStatusChanged: () {
|
||||
if (_isInHomePage()) {
|
||||
if (isInHomePage()) {
|
||||
Future.delayed(Duration(milliseconds: 300), () {
|
||||
_updateWindowSize();
|
||||
});
|
||||
|
@ -375,7 +375,8 @@ class DesktopTab extends StatelessWidget {
|
||||
Expanded(
|
||||
child: GestureDetector(
|
||||
// custom double tap handler
|
||||
onTap: !bind.isIncomingOnly() && showMaximize
|
||||
onTap: !(bind.isIncomingOnly() && isInHomePage()) &&
|
||||
showMaximize
|
||||
? () {
|
||||
final current = DateTime.now().millisecondsSinceEpoch;
|
||||
final elapsed = current - _lastClickTime;
|
||||
@ -691,7 +692,9 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
||||
icon: stateGlobal.isMaximized.isTrue
|
||||
? IconFont.restore
|
||||
: IconFont.max,
|
||||
onTap: _toggleMaximize,
|
||||
onTap: bind.isIncomingOnly() && isInHomePage()
|
||||
? null
|
||||
: _toggleMaximize,
|
||||
isClose: false,
|
||||
))),
|
||||
Offstage(
|
||||
@ -1107,7 +1110,7 @@ class _CloseButton extends StatelessWidget {
|
||||
class ActionIcon extends StatefulWidget {
|
||||
final String? message;
|
||||
final IconData icon;
|
||||
final Function() onTap;
|
||||
final GestureTapCallback? onTap;
|
||||
final bool isClose;
|
||||
final double iconSize;
|
||||
final double boxSize;
|
||||
@ -1116,7 +1119,7 @@ class ActionIcon extends StatefulWidget {
|
||||
{Key? key,
|
||||
this.message,
|
||||
required this.icon,
|
||||
required this.onTap,
|
||||
this.onTap,
|
||||
this.isClose = false,
|
||||
this.iconSize = _kActionIconSize,
|
||||
this.boxSize = _kTabBarHeight - 1})
|
||||
@ -1140,24 +1143,30 @@ class _ActionIconState extends State<ActionIcon> {
|
||||
return Tooltip(
|
||||
message: widget.message != null ? translate(widget.message!) : "",
|
||||
waitDuration: const Duration(seconds: 1),
|
||||
child: Obx(
|
||||
() => InkWell(
|
||||
hoverColor: widget.isClose
|
||||
? const Color.fromARGB(255, 196, 43, 28)
|
||||
: MyTheme.tabbar(context).hoverColor,
|
||||
onHover: (value) => hover.value = value,
|
||||
onTap: widget.onTap,
|
||||
child: SizedBox(
|
||||
height: widget.boxSize,
|
||||
width: widget.boxSize,
|
||||
child: Icon(
|
||||
widget.icon,
|
||||
color: hover.value && widget.isClose
|
||||
? Colors.white
|
||||
: MyTheme.tabbar(context).unSelectedIconColor,
|
||||
size: widget.iconSize,
|
||||
),
|
||||
),
|
||||
child: InkWell(
|
||||
hoverColor: widget.isClose
|
||||
? const Color.fromARGB(255, 196, 43, 28)
|
||||
: MyTheme.tabbar(context).hoverColor,
|
||||
onHover: (value) => hover.value = value,
|
||||
onTap: widget.onTap,
|
||||
child: SizedBox(
|
||||
height: widget.boxSize,
|
||||
width: widget.boxSize,
|
||||
child: widget.onTap == null
|
||||
? Icon(
|
||||
widget.icon,
|
||||
color: Colors.grey,
|
||||
size: widget.iconSize,
|
||||
)
|
||||
: Obx(
|
||||
() => Icon(
|
||||
widget.icon,
|
||||
color: hover.value && widget.isClose
|
||||
? Colors.white
|
||||
: MyTheme.tabbar(context).unSelectedIconColor,
|
||||
size: widget.iconSize,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user