diff --git a/flutter/lib/models/model.dart b/flutter/lib/models/model.dart index c6f38534a..b9225414d 100644 --- a/flutter/lib/models/model.dart +++ b/flutter/lib/models/model.dart @@ -331,7 +331,7 @@ class ImageModel with ChangeNotifier { ui.Image? get image => _image; - String _id = ''; + String id = ''; WeakReference<FFI> parent; @@ -375,7 +375,7 @@ class ImageModel with ChangeNotifier { await initializeCursorAndCanvas(parent.target!); } if (parent.target?.ffiModel.isPeerAndroid ?? false) { - bind.sessionPeerOption(id: _id, name: 'view-style', value: 'adaptive'); + bind.sessionPeerOption(id: id, name: 'view-style', value: 'adaptive'); parent.target?.canvasModel.updateViewStyle(); } } @@ -468,7 +468,7 @@ class CanvasModel with ChangeNotifier { double _scale = 1.0; // the tabbar over the image double tabBarHeight = 0.0; - // TODO multi canvas model + // remote id String id = ''; // scroll offset x percent double _scrollX = 0.0; @@ -681,7 +681,7 @@ class CursorModel with ChangeNotifier { double _hoty = 0; double _displayOriginX = 0; double _displayOriginY = 0; - String id = ''; // TODO multi cursor model + String id = ''; WeakReference<FFI> parent; ui.Image? get image => _image; @@ -991,7 +991,7 @@ extension ToString on MouseButtons { enum ConnType { defaultConn, fileTransfer, portForward, rdp } -/// FFI class for communicating with the Rust core. +/// Flutter state manager and data communication with the Rust core. class FFI { var id = ''; var shift = false; @@ -1020,7 +1020,7 @@ class FFI { ffiModel = FfiModel(WeakReference(this)); cursorModel = CursorModel(WeakReference(this)); canvasModel = CanvasModel(WeakReference(this)); - serverModel = ServerModel(WeakReference(this)); // use global FFI + serverModel = ServerModel(WeakReference(this)); chatModel = ChatModel(WeakReference(this)); fileModel = FileModel(WeakReference(this)); abModel = AbModel(WeakReference(this)); @@ -1042,12 +1042,6 @@ class FFI { .encode(modify({'id': id, 'type': 'wheel', 'y': y.toString()}))); } - /// Reconnect to the remote peer. - // static reconnect() { - // setByName('reconnect'); - // parent.target?.ffiModel.clearPermissions(); - // } - /// Reset key modifiers to false, including [shift], [ctrl], [alt] and [command]. resetModifiers() { shift = ctrl = alt = command = false; @@ -1070,7 +1064,7 @@ class FFI { msg: json.encode(modify({'type': type, 'buttons': button.value}))); } - // Raw Key + /// Send raw Key Event inputRawKey(String name, int keyCode, int scanCode, bool down) { bind.sessionHandleFlutterKeyEvent( id: id, @@ -1080,10 +1074,6 @@ class FFI { downOrUp: down); } - Future<String> getKeyboardMode() { - return bind.sessionGetKeyboardName(id: id); - } - enterOrLeave(bool enter) { // Fix status if (!enter) { @@ -1097,18 +1087,6 @@ class FFI { /// [press] indicates a click event(down and up). inputKey(String name, {bool? down, bool? press}) { if (!ffiModel.keyboard()) return; - // final Map<String, String> out = Map(); - // out['name'] = name; - // // default: down = false - // if (down == true) { - // out['down'] = 'true'; - // } - // // default: press = true - // if (press != false) { - // out['press'] = 'true'; - // } - // setByName('input_key', json.encode(modify(out))); - // TODO id bind.sessionInputKey( id: id, name: name, @@ -1161,7 +1139,7 @@ class FFI { } else { chatModel.resetClientMode(); canvasModel.id = id; - imageModel._id = id; + imageModel.id = id; cursorModel.id = id; } // ignore: unused_local_variable @@ -1212,17 +1190,6 @@ class FFI { debugPrint('model $id closed'); } - /// Send **get** command to the Rust core based on [name] and [arg]. - /// Return the result as a string. - // String getByName(String name, [String arg = '']) { - // return platformFFI.getByName(name, arg); - // } - - /// Send **set** command to the Rust core based on [name] and [value]. - // setByName(String name, [String value = '']) { - // platformFFI.setByName(name, value); - // } - handleMouse(Map<String, dynamic> evt, {double tabBarHeight = 0.0}) { var type = ''; var isMove = false;