fix(flutter): recompute canvas geometry on margin changes
This commit is contained in:
parent
43f70329cb
commit
5f2daf9d06
3 changed files with 11 additions and 5 deletions
|
|
@ -13,6 +13,7 @@ import 'package:flutter_hbb/desktop/pages/desktop_home_page.dart';
|
|||
import 'package:flutter_hbb/desktop/pages/desktop_tab_page.dart';
|
||||
import 'package:flutter_hbb/desktop/widgets/remote_toolbar.dart';
|
||||
import 'package:flutter_hbb/mobile/widgets/dialog.dart';
|
||||
import 'package:flutter_hbb/models/model.dart';
|
||||
import 'package:flutter_hbb/models/platform_model.dart';
|
||||
import 'package:flutter_hbb/models/printer_model.dart';
|
||||
import 'package:flutter_hbb/models/server_model.dart';
|
||||
|
|
@ -1812,9 +1813,9 @@ class _DisplayState extends State<_Display> {
|
|||
}
|
||||
|
||||
Widget remoteCanvasMargin(BuildContext context) {
|
||||
final canvasModel = Provider.of<CanvasModel>(context, listen: false);
|
||||
onChanged(double value) async {
|
||||
await bind.mainSetUserDefaultOption(
|
||||
key: kOptionRemoteCanvasMargin, value: value.round().toString());
|
||||
await canvasModel.setRemoteCanvasMargin(value);
|
||||
setState(() {});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1148,9 +1148,7 @@ class _DisplayMenuState extends State<_DisplayMenu> {
|
|||
|
||||
onChangeRemoteCanvasMargin(double? value) async {
|
||||
if (value == null || isRemoteCanvasMarginFixed) return;
|
||||
await bind.mainSetUserDefaultOption(
|
||||
key: kOptionRemoteCanvasMargin, value: value.round().toString());
|
||||
await widget.ffi.canvasModel.updateViewStyle();
|
||||
await widget.ffi.canvasModel.setRemoteCanvasMargin(value);
|
||||
state.setState(() {});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2203,6 +2203,13 @@ class CanvasModel with ChangeNotifier {
|
|||
return max(0, value);
|
||||
}
|
||||
|
||||
Future<void> setRemoteCanvasMargin(double value) async {
|
||||
final normalizedValue = max(0, value.round());
|
||||
await bind.mainSetUserDefaultOption(
|
||||
key: kOptionRemoteCanvasMargin, value: normalizedValue.toString());
|
||||
await updateViewStyle();
|
||||
}
|
||||
|
||||
Rect? get paddedRect {
|
||||
final rect = realRect;
|
||||
if (rect == null) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue