Merge pull request #5352 from dignow/fix/window_maximize_state
fix, window maximized state
This commit is contained in:
commit
a7a460a29d
@ -562,7 +562,7 @@ void windowOnTop(int? id) async {
|
|||||||
print("Bring window '$id' on top");
|
print("Bring window '$id' on top");
|
||||||
if (id == null) {
|
if (id == null) {
|
||||||
// main window
|
// main window
|
||||||
if (stateGlobal.minimized) {
|
if (stateGlobal.isMinimized) {
|
||||||
await windowManager.restore();
|
await windowManager.restore();
|
||||||
}
|
}
|
||||||
await windowManager.show();
|
await windowManager.show();
|
||||||
|
@ -77,7 +77,7 @@ const double kDesktopFileTransferHeaderHeight = 25.0;
|
|||||||
|
|
||||||
EdgeInsets get kDragToResizeAreaPadding =>
|
EdgeInsets get kDragToResizeAreaPadding =>
|
||||||
!kUseCompatibleUiMode && Platform.isLinux
|
!kUseCompatibleUiMode && Platform.isLinux
|
||||||
? stateGlobal.fullscreen || stateGlobal.maximized
|
? stateGlobal.fullscreen || stateGlobal.isMaximized.value
|
||||||
? EdgeInsets.zero
|
? EdgeInsets.zero
|
||||||
: EdgeInsets.all(5.0)
|
: EdgeInsets.all(5.0)
|
||||||
: EdgeInsets.zero;
|
: EdgeInsets.zero;
|
||||||
|
@ -237,7 +237,6 @@ class DesktopTab extends StatelessWidget {
|
|||||||
final DesktopTabController controller;
|
final DesktopTabController controller;
|
||||||
|
|
||||||
Rx<DesktopTabState> get state => controller.state;
|
Rx<DesktopTabState> get state => controller.state;
|
||||||
final isMaximized = false.obs;
|
|
||||||
final _scrollDebounce = Debouncer(delay: Duration(milliseconds: 50));
|
final _scrollDebounce = Debouncer(delay: Duration(milliseconds: 50));
|
||||||
|
|
||||||
late final DesktopTabType tabType;
|
late final DesktopTabType tabType;
|
||||||
@ -373,7 +372,7 @@ class DesktopTab extends StatelessWidget {
|
|||||||
if (elapsed < bind.getDoubleClickTime()) {
|
if (elapsed < bind.getDoubleClickTime()) {
|
||||||
// onDoubleTap
|
// onDoubleTap
|
||||||
toggleMaximize(isMainWindow)
|
toggleMaximize(isMainWindow)
|
||||||
.then((value) => isMaximized.value = value);
|
.then((value) => stateGlobal.setMaximized(value));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
: null,
|
: null,
|
||||||
@ -441,7 +440,7 @@ class DesktopTab extends StatelessWidget {
|
|||||||
tabType: tabType,
|
tabType: tabType,
|
||||||
state: state,
|
state: state,
|
||||||
tail: tail,
|
tail: tail,
|
||||||
isMaximized: isMaximized,
|
isMaximized: stateGlobal.isMaximized,
|
||||||
showMinimize: showMinimize,
|
showMinimize: showMinimize,
|
||||||
showMaximize: showMaximize,
|
showMaximize: showMaximize,
|
||||||
showClose: showClose,
|
showClose: showClose,
|
||||||
|
@ -10,10 +10,10 @@ enum SvcStatus { notReady, connecting, ready }
|
|||||||
|
|
||||||
class StateGlobal {
|
class StateGlobal {
|
||||||
int _windowId = -1;
|
int _windowId = -1;
|
||||||
bool _fullscreen = false;
|
|
||||||
bool _maximized = false;
|
|
||||||
bool _minimized = false;
|
|
||||||
bool grabKeyboard = false;
|
bool grabKeyboard = false;
|
||||||
|
bool _fullscreen = false;
|
||||||
|
bool _isMinimized = false;
|
||||||
|
final RxBool isMaximized = false.obs;
|
||||||
final RxBool _showTabBar = true.obs;
|
final RxBool _showTabBar = true.obs;
|
||||||
final RxDouble _resizeEdgeSize = RxDouble(kWindowEdgeSize);
|
final RxDouble _resizeEdgeSize = RxDouble(kWindowEdgeSize);
|
||||||
final RxDouble _windowBorderWidth = RxDouble(kWindowBorderWidth);
|
final RxDouble _windowBorderWidth = RxDouble(kWindowBorderWidth);
|
||||||
@ -26,8 +26,7 @@ class StateGlobal {
|
|||||||
|
|
||||||
int get windowId => _windowId;
|
int get windowId => _windowId;
|
||||||
bool get fullscreen => _fullscreen;
|
bool get fullscreen => _fullscreen;
|
||||||
bool get maximized => _maximized;
|
bool get isMinimized => _isMinimized;
|
||||||
bool get minimized => _minimized;
|
|
||||||
double get tabBarHeight => fullscreen ? 0 : kDesktopRemoteTabBarHeight;
|
double get tabBarHeight => fullscreen ? 0 : kDesktopRemoteTabBarHeight;
|
||||||
RxBool get showTabBar => _showTabBar;
|
RxBool get showTabBar => _showTabBar;
|
||||||
RxDouble get resizeEdgeSize => _resizeEdgeSize;
|
RxDouble get resizeEdgeSize => _resizeEdgeSize;
|
||||||
@ -51,12 +50,12 @@ class StateGlobal {
|
|||||||
|
|
||||||
setWindowId(int id) => _windowId = id;
|
setWindowId(int id) => _windowId = id;
|
||||||
setMaximized(bool v) {
|
setMaximized(bool v) {
|
||||||
if (_maximized != v && !_fullscreen) {
|
if (isMaximized.value != v && !_fullscreen) {
|
||||||
_maximized = v;
|
isMaximized.value = v;
|
||||||
_resizeEdgeSize.value = _maximized ? kMaximizeEdgeSize : kWindowEdgeSize;
|
_resizeEdgeSize.value = isMaximized.isTrue ? kMaximizeEdgeSize : kWindowEdgeSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setMinimized(bool v) => _minimized = v;
|
setMinimized(bool v) => _isMinimized = v;
|
||||||
|
|
||||||
setFullscreen(bool v) {
|
setFullscreen(bool v) {
|
||||||
if (_fullscreen != v) {
|
if (_fullscreen != v) {
|
||||||
@ -64,7 +63,7 @@ class StateGlobal {
|
|||||||
_showTabBar.value = !_fullscreen;
|
_showTabBar.value = !_fullscreen;
|
||||||
_resizeEdgeSize.value = fullscreen
|
_resizeEdgeSize.value = fullscreen
|
||||||
? kFullScreenEdgeSize
|
? kFullScreenEdgeSize
|
||||||
: _maximized
|
: isMaximized.isTrue
|
||||||
? kMaximizeEdgeSize
|
? kMaximizeEdgeSize
|
||||||
: kWindowEdgeSize;
|
: kWindowEdgeSize;
|
||||||
print(
|
print(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user