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() {
|
Size getIncomingOnlySettingsSize() {
|
||||||
return Size(768, 600);
|
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_setting_page.dart';
|
||||||
import 'package:flutter_hbb/desktop/pages/desktop_tab_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/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/platform_model.dart';
|
||||||
import 'package:flutter_hbb/models/server_model.dart';
|
import 'package:flutter_hbb/models/server_model.dart';
|
||||||
import 'package:flutter_hbb/plugin/ui_manager.dart';
|
import 'package:flutter_hbb/plugin/ui_manager.dart';
|
||||||
@ -56,11 +55,6 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
|||||||
|
|
||||||
final GlobalKey _childKey = GlobalKey();
|
final GlobalKey _childKey = GlobalKey();
|
||||||
|
|
||||||
bool _isInHomePage() {
|
|
||||||
final controller = Get.find<DesktopTabController>();
|
|
||||||
return controller.state.value.selected == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
super.build(context);
|
super.build(context);
|
||||||
@ -152,7 +146,7 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
|||||||
builder: (_, data) {
|
builder: (_, data) {
|
||||||
if (data.hasData) {
|
if (data.hasData) {
|
||||||
if (isIncomingOnly) {
|
if (isIncomingOnly) {
|
||||||
if (_isInHomePage()) {
|
if (isInHomePage()) {
|
||||||
Future.delayed(Duration(milliseconds: 300), () {
|
Future.delayed(Duration(milliseconds: 300), () {
|
||||||
_updateWindowSize();
|
_updateWindowSize();
|
||||||
});
|
});
|
||||||
@ -171,7 +165,7 @@ class _DesktopHomePageState extends State<DesktopHomePage>
|
|||||||
Divider(),
|
Divider(),
|
||||||
OnlineStatusWidget(
|
OnlineStatusWidget(
|
||||||
onSvcStatusChanged: () {
|
onSvcStatusChanged: () {
|
||||||
if (_isInHomePage()) {
|
if (isInHomePage()) {
|
||||||
Future.delayed(Duration(milliseconds: 300), () {
|
Future.delayed(Duration(milliseconds: 300), () {
|
||||||
_updateWindowSize();
|
_updateWindowSize();
|
||||||
});
|
});
|
||||||
|
@ -375,7 +375,8 @@ class DesktopTab extends StatelessWidget {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
// custom double tap handler
|
// custom double tap handler
|
||||||
onTap: !bind.isIncomingOnly() && showMaximize
|
onTap: !(bind.isIncomingOnly() && isInHomePage()) &&
|
||||||
|
showMaximize
|
||||||
? () {
|
? () {
|
||||||
final current = DateTime.now().millisecondsSinceEpoch;
|
final current = DateTime.now().millisecondsSinceEpoch;
|
||||||
final elapsed = current - _lastClickTime;
|
final elapsed = current - _lastClickTime;
|
||||||
@ -691,7 +692,9 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
|||||||
icon: stateGlobal.isMaximized.isTrue
|
icon: stateGlobal.isMaximized.isTrue
|
||||||
? IconFont.restore
|
? IconFont.restore
|
||||||
: IconFont.max,
|
: IconFont.max,
|
||||||
onTap: _toggleMaximize,
|
onTap: bind.isIncomingOnly() && isInHomePage()
|
||||||
|
? null
|
||||||
|
: _toggleMaximize,
|
||||||
isClose: false,
|
isClose: false,
|
||||||
))),
|
))),
|
||||||
Offstage(
|
Offstage(
|
||||||
@ -1107,7 +1110,7 @@ class _CloseButton extends StatelessWidget {
|
|||||||
class ActionIcon extends StatefulWidget {
|
class ActionIcon extends StatefulWidget {
|
||||||
final String? message;
|
final String? message;
|
||||||
final IconData icon;
|
final IconData icon;
|
||||||
final Function() onTap;
|
final GestureTapCallback? onTap;
|
||||||
final bool isClose;
|
final bool isClose;
|
||||||
final double iconSize;
|
final double iconSize;
|
||||||
final double boxSize;
|
final double boxSize;
|
||||||
@ -1116,7 +1119,7 @@ class ActionIcon extends StatefulWidget {
|
|||||||
{Key? key,
|
{Key? key,
|
||||||
this.message,
|
this.message,
|
||||||
required this.icon,
|
required this.icon,
|
||||||
required this.onTap,
|
this.onTap,
|
||||||
this.isClose = false,
|
this.isClose = false,
|
||||||
this.iconSize = _kActionIconSize,
|
this.iconSize = _kActionIconSize,
|
||||||
this.boxSize = _kTabBarHeight - 1})
|
this.boxSize = _kTabBarHeight - 1})
|
||||||
@ -1140,24 +1143,30 @@ class _ActionIconState extends State<ActionIcon> {
|
|||||||
return Tooltip(
|
return Tooltip(
|
||||||
message: widget.message != null ? translate(widget.message!) : "",
|
message: widget.message != null ? translate(widget.message!) : "",
|
||||||
waitDuration: const Duration(seconds: 1),
|
waitDuration: const Duration(seconds: 1),
|
||||||
child: Obx(
|
child: InkWell(
|
||||||
() => InkWell(
|
hoverColor: widget.isClose
|
||||||
hoverColor: widget.isClose
|
? const Color.fromARGB(255, 196, 43, 28)
|
||||||
? const Color.fromARGB(255, 196, 43, 28)
|
: MyTheme.tabbar(context).hoverColor,
|
||||||
: MyTheme.tabbar(context).hoverColor,
|
onHover: (value) => hover.value = value,
|
||||||
onHover: (value) => hover.value = value,
|
onTap: widget.onTap,
|
||||||
onTap: widget.onTap,
|
child: SizedBox(
|
||||||
child: SizedBox(
|
height: widget.boxSize,
|
||||||
height: widget.boxSize,
|
width: widget.boxSize,
|
||||||
width: widget.boxSize,
|
child: widget.onTap == null
|
||||||
child: Icon(
|
? Icon(
|
||||||
widget.icon,
|
widget.icon,
|
||||||
color: hover.value && widget.isClose
|
color: Colors.grey,
|
||||||
? Colors.white
|
size: widget.iconSize,
|
||||||
: MyTheme.tabbar(context).unSelectedIconColor,
|
)
|
||||||
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