web (#9640)
resolution, image quality, tab name, last remote id Signed-off-by: 21pages <sunboeasy@gmail.com>
This commit is contained in:
parent
6cdbcfc082
commit
af610b2408
@ -938,7 +938,7 @@ class FavoritePeerCard extends BasePeerCard {
|
|||||||
BuildContext context) async {
|
BuildContext context) async {
|
||||||
final List<MenuEntryBase<String>> menuItems = [
|
final List<MenuEntryBase<String>> menuItems = [
|
||||||
_connectAction(context),
|
_connectAction(context),
|
||||||
if (!isWeb) _transferFileAction(context),
|
_transferFileAction(context),
|
||||||
];
|
];
|
||||||
if (isDesktop && peer.platform != kPeerPlatformAndroid) {
|
if (isDesktop && peer.platform != kPeerPlatformAndroid) {
|
||||||
menuItems.add(_tcpTunnelingAction(context));
|
menuItems.add(_tcpTunnelingAction(context));
|
||||||
@ -991,7 +991,7 @@ class DiscoveredPeerCard extends BasePeerCard {
|
|||||||
BuildContext context) async {
|
BuildContext context) async {
|
||||||
final List<MenuEntryBase<String>> menuItems = [
|
final List<MenuEntryBase<String>> menuItems = [
|
||||||
_connectAction(context),
|
_connectAction(context),
|
||||||
if (!isWeb) _transferFileAction(context),
|
_transferFileAction(context),
|
||||||
];
|
];
|
||||||
|
|
||||||
final List favs = (await bind.mainGetFav()).toList();
|
final List favs = (await bind.mainGetFav()).toList();
|
||||||
@ -1044,7 +1044,7 @@ class AddressBookPeerCard extends BasePeerCard {
|
|||||||
BuildContext context) async {
|
BuildContext context) async {
|
||||||
final List<MenuEntryBase<String>> menuItems = [
|
final List<MenuEntryBase<String>> menuItems = [
|
||||||
_connectAction(context),
|
_connectAction(context),
|
||||||
if (!isWeb) _transferFileAction(context),
|
_transferFileAction(context),
|
||||||
];
|
];
|
||||||
if (isDesktop && peer.platform != kPeerPlatformAndroid) {
|
if (isDesktop && peer.platform != kPeerPlatformAndroid) {
|
||||||
menuItems.add(_tcpTunnelingAction(context));
|
menuItems.add(_tcpTunnelingAction(context));
|
||||||
@ -1176,7 +1176,7 @@ class MyGroupPeerCard extends BasePeerCard {
|
|||||||
BuildContext context) async {
|
BuildContext context) async {
|
||||||
final List<MenuEntryBase<String>> menuItems = [
|
final List<MenuEntryBase<String>> menuItems = [
|
||||||
_connectAction(context),
|
_connectAction(context),
|
||||||
if (!isWeb) _transferFileAction(context),
|
_transferFileAction(context),
|
||||||
];
|
];
|
||||||
if (isDesktop && peer.platform != kPeerPlatformAndroid) {
|
if (isDesktop && peer.platform != kPeerPlatformAndroid) {
|
||||||
menuItems.add(_tcpTunnelingAction(context));
|
menuItems.add(_tcpTunnelingAction(context));
|
||||||
|
@ -445,7 +445,9 @@ class _AppState extends State<App> with WidgetsBindingObserver {
|
|||||||
child: GetMaterialApp(
|
child: GetMaterialApp(
|
||||||
navigatorKey: globalKey,
|
navigatorKey: globalKey,
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
title: 'RustDesk',
|
title: isWeb
|
||||||
|
? '${bind.mainGetAppNameSync()} Web Client V2 (Preview)'
|
||||||
|
: bind.mainGetAppNameSync(),
|
||||||
theme: MyTheme.lightTheme,
|
theme: MyTheme.lightTheme,
|
||||||
darkTheme: MyTheme.darkTheme,
|
darkTheme: MyTheme.darkTheme,
|
||||||
themeMode: MyTheme.currentThemeMode(),
|
themeMode: MyTheme.currentThemeMode(),
|
||||||
|
@ -212,6 +212,8 @@ class _ConnectionPageState extends State<ConnectionPage> {
|
|||||||
FocusNode fieldFocusNode,
|
FocusNode fieldFocusNode,
|
||||||
VoidCallback onFieldSubmitted) {
|
VoidCallback onFieldSubmitted) {
|
||||||
fieldTextEditingController.text = _idController.text;
|
fieldTextEditingController.text = _idController.text;
|
||||||
|
Get.put<TextEditingController>(
|
||||||
|
fieldTextEditingController);
|
||||||
fieldFocusNode.addListener(() async {
|
fieldFocusNode.addListener(() async {
|
||||||
_idEmpty.value =
|
_idEmpty.value =
|
||||||
fieldTextEditingController.text.isEmpty;
|
fieldTextEditingController.text.isEmpty;
|
||||||
@ -352,7 +354,8 @@ class _ConnectionPageState extends State<ConnectionPage> {
|
|||||||
);
|
);
|
||||||
final child = Column(children: [
|
final child = Column(children: [
|
||||||
if (isWebDesktop)
|
if (isWebDesktop)
|
||||||
getConnectionPageTitle(context, true).marginOnly(bottom: 10, top: 15, left: 12),
|
getConnectionPageTitle(context, true)
|
||||||
|
.marginOnly(bottom: 10, top: 15, left: 12),
|
||||||
w
|
w
|
||||||
]);
|
]);
|
||||||
return Align(
|
return Align(
|
||||||
@ -367,6 +370,9 @@ class _ConnectionPageState extends State<ConnectionPage> {
|
|||||||
if (Get.isRegistered<IDTextEditingController>()) {
|
if (Get.isRegistered<IDTextEditingController>()) {
|
||||||
Get.delete<IDTextEditingController>();
|
Get.delete<IDTextEditingController>();
|
||||||
}
|
}
|
||||||
|
if (Get.isRegistered<TextEditingController>()) {
|
||||||
|
Get.delete<TextEditingController>();
|
||||||
|
}
|
||||||
if (!bind.isCustomClient()) {
|
if (!bind.isCustomClient()) {
|
||||||
platformFFI.unregisterEventHandler(
|
platformFFI.unregisterEventHandler(
|
||||||
kCheckSoftwareUpdateFinish, kCheckSoftwareUpdateFinish);
|
kCheckSoftwareUpdateFinish, kCheckSoftwareUpdateFinish);
|
||||||
|
@ -165,7 +165,7 @@ class WebHomePage extends StatelessWidget {
|
|||||||
// backgroundColor: MyTheme.grayBg,
|
// backgroundColor: MyTheme.grayBg,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text(bind.mainGetAppNameSync()),
|
title: Text("${bind.mainGetAppNameSync()} (Preview)"),
|
||||||
actions: connectionPage.appBarActions,
|
actions: connectionPage.appBarActions,
|
||||||
),
|
),
|
||||||
body: connectionPage,
|
body: connectionPage,
|
||||||
|
@ -284,16 +284,14 @@ class RustdeskImpl {
|
|||||||
|
|
||||||
Future<String?> sessionGetImageQuality(
|
Future<String?> sessionGetImageQuality(
|
||||||
{required UuidValue sessionId, dynamic hint}) {
|
{required UuidValue sessionId, dynamic hint}) {
|
||||||
return Future(() => js.context
|
return Future(() => js.context.callMethod('getByName', ['image_quality']));
|
||||||
.callMethod('getByName', ['option:session', 'image_quality']));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> sessionSetImageQuality(
|
Future<void> sessionSetImageQuality(
|
||||||
{required UuidValue sessionId, required String value, dynamic hint}) {
|
{required UuidValue sessionId, required String value, dynamic hint}) {
|
||||||
return Future(() => js.context.callMethod('setByName', [
|
print('set image quality: $value');
|
||||||
'option:session',
|
return Future(
|
||||||
jsonEncode({'name': 'image_quality', 'value': value})
|
() => js.context.callMethod('setByName', ['image_quality', value]));
|
||||||
]));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<String?> sessionGetKeyboardMode(
|
Future<String?> sessionGetKeyboardMode(
|
||||||
@ -374,17 +372,15 @@ class RustdeskImpl {
|
|||||||
Future<void> sessionSetCustomImageQuality(
|
Future<void> sessionSetCustomImageQuality(
|
||||||
{required UuidValue sessionId, required int value, dynamic hint}) {
|
{required UuidValue sessionId, required int value, dynamic hint}) {
|
||||||
return Future(() => js.context.callMethod('setByName', [
|
return Future(() => js.context.callMethod('setByName', [
|
||||||
'option:session',
|
'custom_image_quality',
|
||||||
jsonEncode({'name': 'custom_image_quality', 'value': value})
|
value,
|
||||||
]));
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> sessionSetCustomFps(
|
Future<void> sessionSetCustomFps(
|
||||||
{required UuidValue sessionId, required int fps, dynamic hint}) {
|
{required UuidValue sessionId, required int fps, dynamic hint}) {
|
||||||
return Future(() => js.context.callMethod('setByName', [
|
return Future(
|
||||||
'option:session',
|
() => js.context.callMethod('setByName', ['custom-fps', fps]));
|
||||||
jsonEncode({'name': 'custom_fps', 'value': fps})
|
|
||||||
]));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> sessionLockScreen({required UuidValue sessionId, dynamic hint}) {
|
Future<void> sessionLockScreen({required UuidValue sessionId, dynamic hint}) {
|
||||||
@ -694,7 +690,10 @@ class RustdeskImpl {
|
|||||||
required int height,
|
required int height,
|
||||||
dynamic hint}) {
|
dynamic hint}) {
|
||||||
// note: restore on disconnected
|
// note: restore on disconnected
|
||||||
throw UnimplementedError("sessionChangeResolution");
|
return Future(() => js.context.callMethod('setByName', [
|
||||||
|
'change_resolution',
|
||||||
|
jsonEncode({'display': display, 'width': width, 'height': height})
|
||||||
|
]));
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> sessionSetSize(
|
Future<void> sessionSetSize(
|
||||||
@ -1119,8 +1118,7 @@ class RustdeskImpl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<String> mainGetLastRemoteId({dynamic hint}) {
|
Future<String> mainGetLastRemoteId({dynamic hint}) {
|
||||||
return Future(
|
return Future(() => mainGetLocalOption(key: 'last_remote_id'));
|
||||||
() => js.context.callMethod('getByName', ['option', 'last_remote_id']));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> mainGetSoftwareUpdateUrl({dynamic hint}) {
|
Future<void> mainGetSoftwareUpdateUrl({dynamic hint}) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user