mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-22 10:06:23 +08:00
cache window size/pos
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -14,6 +14,7 @@ import 'package:PiliPlus/utils/context_ext.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/page_utils.dart';
|
||||
import 'package:PiliPlus/utils/storage.dart';
|
||||
import 'package:PiliPlus/utils/storage_key.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
@@ -96,6 +97,32 @@ class _MainAppState extends State<MainApp>
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
void onWindowMoved() {
|
||||
updateWindowOffset();
|
||||
}
|
||||
|
||||
@override
|
||||
void onWindowResized() {
|
||||
updateWindowSize();
|
||||
updateWindowOffset();
|
||||
}
|
||||
|
||||
Future<void> updateWindowOffset() async {
|
||||
if (!await windowManager.isMaximized()) {
|
||||
final Offset offset = await windowManager.getPosition();
|
||||
GStorage.setting.put(SettingBoxKey.windowPosition, [
|
||||
offset.dx,
|
||||
offset.dy,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> updateWindowSize() async {
|
||||
final Size size = await windowManager.getSize();
|
||||
GStorage.setting.put(SettingBoxKey.windowSize, [size.width, size.height]);
|
||||
}
|
||||
|
||||
@override
|
||||
void onWindowClose() {
|
||||
if (_mainController.minimizeOnExit) {
|
||||
|
||||
Reference in New Issue
Block a user