Remove dup maximized state
Signed-off-by: dignow <linlong1265@gmail.com>
This commit is contained in:
parent
958607ba9b
commit
bf32477f89
@ -106,7 +106,8 @@ class _ConnectionPageState extends State<ConnectionPage>
|
|||||||
@override
|
@override
|
||||||
void onWindowLeaveFullScreen() {
|
void onWindowLeaveFullScreen() {
|
||||||
// Restore edge border to default edge size.
|
// Restore edge border to default edge size.
|
||||||
stateGlobal.resizeEdgeSize.value = kWindowEdgeSize;
|
stateGlobal.resizeEdgeSize.value =
|
||||||
|
stateGlobal.isMaximized.isTrue ? kMaximizeEdgeSize : kWindowEdgeSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -440,7 +440,6 @@ class DesktopTab extends StatelessWidget {
|
|||||||
tabType: tabType,
|
tabType: tabType,
|
||||||
state: state,
|
state: state,
|
||||||
tail: tail,
|
tail: tail,
|
||||||
isMaximized: stateGlobal.isMaximized,
|
|
||||||
showMinimize: showMinimize,
|
showMinimize: showMinimize,
|
||||||
showMaximize: showMaximize,
|
showMaximize: showMaximize,
|
||||||
showClose: showClose,
|
showClose: showClose,
|
||||||
@ -455,7 +454,6 @@ class WindowActionPanel extends StatefulWidget {
|
|||||||
final bool isMainWindow;
|
final bool isMainWindow;
|
||||||
final DesktopTabType tabType;
|
final DesktopTabType tabType;
|
||||||
final Rx<DesktopTabState> state;
|
final Rx<DesktopTabState> state;
|
||||||
final RxBool isMaximized;
|
|
||||||
|
|
||||||
final bool showMinimize;
|
final bool showMinimize;
|
||||||
final bool showMaximize;
|
final bool showMaximize;
|
||||||
@ -468,7 +466,6 @@ class WindowActionPanel extends StatefulWidget {
|
|||||||
required this.isMainWindow,
|
required this.isMainWindow,
|
||||||
required this.tabType,
|
required this.tabType,
|
||||||
required this.state,
|
required this.state,
|
||||||
required this.isMaximized,
|
|
||||||
this.tail,
|
this.tail,
|
||||||
this.showMinimize = true,
|
this.showMinimize = true,
|
||||||
this.showMaximize = true,
|
this.showMaximize = true,
|
||||||
@ -495,18 +492,18 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
|||||||
Future.delayed(Duration(milliseconds: 500), () {
|
Future.delayed(Duration(milliseconds: 500), () {
|
||||||
if (widget.isMainWindow) {
|
if (widget.isMainWindow) {
|
||||||
windowManager.isMaximized().then((maximized) {
|
windowManager.isMaximized().then((maximized) {
|
||||||
if (widget.isMaximized.value != maximized) {
|
if (stateGlobal.isMaximized.value != maximized) {
|
||||||
WidgetsBinding.instance.addPostFrameCallback(
|
WidgetsBinding.instance.addPostFrameCallback(
|
||||||
(_) => setState(() => widget.isMaximized.value = maximized));
|
(_) => setState(() => stateGlobal.setMaximized(maximized)));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
final wc = WindowController.fromWindowId(kWindowId!);
|
final wc = WindowController.fromWindowId(kWindowId!);
|
||||||
wc.isMaximized().then((maximized) {
|
wc.isMaximized().then((maximized) {
|
||||||
debugPrint("isMaximized $maximized");
|
debugPrint("isMaximized $maximized");
|
||||||
if (widget.isMaximized.value != maximized) {
|
if (stateGlobal.isMaximized.value != maximized) {
|
||||||
WidgetsBinding.instance.addPostFrameCallback(
|
WidgetsBinding.instance.addPostFrameCallback(
|
||||||
(_) => setState(() => widget.isMaximized.value = maximized));
|
(_) => setState(() => stateGlobal.setMaximized(maximized)));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -535,10 +532,6 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onWindowMaximize() {
|
void onWindowMaximize() {
|
||||||
// catch maximize from system
|
|
||||||
if (!widget.isMaximized.value) {
|
|
||||||
widget.isMaximized.value = true;
|
|
||||||
}
|
|
||||||
stateGlobal.setMinimized(false);
|
stateGlobal.setMinimized(false);
|
||||||
_setMaximized(true);
|
_setMaximized(true);
|
||||||
super.onWindowMaximize();
|
super.onWindowMaximize();
|
||||||
@ -546,10 +539,6 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void onWindowUnmaximize() {
|
void onWindowUnmaximize() {
|
||||||
// catch unmaximize from system
|
|
||||||
if (widget.isMaximized.value) {
|
|
||||||
widget.isMaximized.value = false;
|
|
||||||
}
|
|
||||||
stateGlobal.setMinimized(false);
|
stateGlobal.setMinimized(false);
|
||||||
_setMaximized(false);
|
_setMaximized(false);
|
||||||
super.onWindowUnmaximize();
|
super.onWindowUnmaximize();
|
||||||
@ -632,9 +621,10 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
|||||||
Offstage(
|
Offstage(
|
||||||
offstage: !widget.showMaximize || Platform.isMacOS,
|
offstage: !widget.showMaximize || Platform.isMacOS,
|
||||||
child: Obx(() => ActionIcon(
|
child: Obx(() => ActionIcon(
|
||||||
message:
|
message: stateGlobal.isMaximized.isTrue
|
||||||
widget.isMaximized.value ? 'Restore' : 'Maximize',
|
? 'Restore'
|
||||||
icon: widget.isMaximized.value
|
: 'Maximize',
|
||||||
|
icon: stateGlobal.isMaximized.isTrue
|
||||||
? IconFont.restore
|
? IconFont.restore
|
||||||
: IconFont.max,
|
: IconFont.max,
|
||||||
onTap: _toggleMaximize,
|
onTap: _toggleMaximize,
|
||||||
@ -671,10 +661,8 @@ class WindowActionPanelState extends State<WindowActionPanel>
|
|||||||
|
|
||||||
void _toggleMaximize() {
|
void _toggleMaximize() {
|
||||||
toggleMaximize(widget.isMainWindow).then((maximize) {
|
toggleMaximize(widget.isMainWindow).then((maximize) {
|
||||||
if (widget.isMaximized.value != maximize) {
|
|
||||||
// update state for sub window, wc.unmaximize/maximize() will not invoke onWindowMaximize/Unmaximize
|
// update state for sub window, wc.unmaximize/maximize() will not invoke onWindowMaximize/Unmaximize
|
||||||
widget.isMaximized.value = maximize;
|
stateGlobal.setMaximized(maximize);
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user