web menu
This commit is contained in:
parent
763234221e
commit
61722f5b8e
@ -19,10 +19,6 @@ class PlatformFFI {
|
|||||||
return js.context.callMethod('getRgba');
|
return js.context.callMethod('getRgba');
|
||||||
}
|
}
|
||||||
|
|
||||||
static Future<String> getVersion() async {
|
|
||||||
return getByName('version');
|
|
||||||
}
|
|
||||||
|
|
||||||
static String getByName(String name, [String arg = '']) {
|
static String getByName(String name, [String arg = '']) {
|
||||||
return js.context.callMethod('getByName', [name, arg]);
|
return js.context.callMethod('getByName', [name, arg]);
|
||||||
}
|
}
|
||||||
@ -35,6 +31,7 @@ class PlatformFFI {
|
|||||||
isWeb = true;
|
isWeb = true;
|
||||||
isDesktop = !js.context.callMethod('isMobile');
|
isDesktop = !js.context.callMethod('isMobile');
|
||||||
js.context.callMethod('init');
|
js.context.callMethod('init');
|
||||||
|
version = getByName('version');
|
||||||
}
|
}
|
||||||
|
|
||||||
// MouseRegion onHover not work for mouse move when right button down
|
// MouseRegion onHover not work for mouse move when right button down
|
||||||
@ -125,7 +122,8 @@ void handleKey(KeyboardEvent evt, bool down) {
|
|||||||
name = evt.code;
|
name = evt.code;
|
||||||
} else {
|
} else {
|
||||||
name = evt.key;
|
name = evt.key;
|
||||||
if (name!=null && name.toLowerCase() != name.toUpperCase() &&
|
if (name != null &&
|
||||||
|
name.toLowerCase() != name.toUpperCase() &&
|
||||||
name == name.toUpperCase()) {
|
name == name.toUpperCase()) {
|
||||||
if (!evt.shiftKey) out['shift'] = 'true';
|
if (!evt.shiftKey) out['shift'] = 'true';
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ import '../common.dart';
|
|||||||
import '../models/model.dart';
|
import '../models/model.dart';
|
||||||
import 'home_page.dart';
|
import 'home_page.dart';
|
||||||
import 'remote_page.dart';
|
import 'remote_page.dart';
|
||||||
|
import 'settings_page.dart';
|
||||||
|
|
||||||
class ConnectionPage extends StatefulWidget implements PageShape {
|
class ConnectionPage extends StatefulWidget implements PageShape {
|
||||||
ConnectionPage({Key? key}) : super(key: key);
|
ConnectionPage({Key? key}) : super(key: key);
|
||||||
@ -18,7 +19,29 @@ class ConnectionPage extends StatefulWidget implements PageShape {
|
|||||||
final title = translate("Connection");
|
final title = translate("Connection");
|
||||||
|
|
||||||
@override
|
@override
|
||||||
final appBarActions = [];
|
final appBarActions = isWeb
|
||||||
|
? <Widget>[
|
||||||
|
PopupMenuButton<String>(itemBuilder: (context) {
|
||||||
|
return [
|
||||||
|
PopupMenuItem(
|
||||||
|
child: Text(translate('ID Server')),
|
||||||
|
value: "server",
|
||||||
|
),
|
||||||
|
PopupMenuItem(
|
||||||
|
child: Text(translate('About') + ' RustDesk'),
|
||||||
|
value: "about",
|
||||||
|
)
|
||||||
|
];
|
||||||
|
}, onSelected: (value) {
|
||||||
|
if (value == 'server') {
|
||||||
|
showServer();
|
||||||
|
}
|
||||||
|
if (value == 'about') {
|
||||||
|
showAbout();
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
]
|
||||||
|
: [];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
_ConnectionPageState createState() => _ConnectionPageState();
|
_ConnectionPageState createState() => _ConnectionPageState();
|
||||||
|
@ -147,3 +147,40 @@ String? validate(value) {
|
|||||||
final res = FFI.getByName('test_if_valid_server', value);
|
final res = FFI.getByName('test_if_valid_server', value);
|
||||||
return res.isEmpty ? null : res;
|
return res.isEmpty ? null : res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void showAbout() {
|
||||||
|
DialogManager.show((setState, close) {
|
||||||
|
return CustomAlertDialog(
|
||||||
|
title: Text(translate('About') + ' RustDesk'),
|
||||||
|
content: Wrap(direction: Axis.vertical, spacing: 12, children: [
|
||||||
|
Text('Version: $version'),
|
||||||
|
InkWell(
|
||||||
|
onTap: () async {
|
||||||
|
const url = 'https://rustdesk.com/';
|
||||||
|
if (await canLaunch(url)) {
|
||||||
|
await launch(url);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 8),
|
||||||
|
child: Text('Support',
|
||||||
|
style: TextStyle(
|
||||||
|
decoration: TextDecoration.underline,
|
||||||
|
)),
|
||||||
|
)),
|
||||||
|
]),
|
||||||
|
actions: [
|
||||||
|
TextButton(
|
||||||
|
style: flatButtonStyle,
|
||||||
|
onPressed: () {
|
||||||
|
close();
|
||||||
|
},
|
||||||
|
child: Text(translate('OK')),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
onWillPop: () async {
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
89
pubspec.lock
89
pubspec.lock
@ -71,6 +71,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.4"
|
version: "1.0.4"
|
||||||
|
dash_chat:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: dash_chat
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.16"
|
||||||
device_info:
|
device_info:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -85,6 +92,20 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.1"
|
version: "2.0.1"
|
||||||
|
draggable_float_widget:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: draggable_float_widget
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.0.2"
|
||||||
|
event_bus:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: event_bus
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
external_path:
|
external_path:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -167,15 +188,20 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_breadcrumb:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_breadcrumb
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.1"
|
||||||
flutter_easyloading:
|
flutter_easyloading:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
path: "."
|
name: flutter_easyloading
|
||||||
ref: HEAD
|
url: "https://pub.dartlang.org"
|
||||||
resolved-ref: "663154242c05ccf85d4dde984852095664493e46"
|
source: hosted
|
||||||
url: "git://github.com/open-trade/flutter_easyloading"
|
version: "3.0.3"
|
||||||
source: git
|
|
||||||
version: "2.2.0"
|
|
||||||
flutter_launcher_icons:
|
flutter_launcher_icons:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
@ -183,13 +209,20 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.9.2"
|
version: "0.9.2"
|
||||||
|
flutter_parsed_text:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_parsed_text
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.2.1"
|
||||||
flutter_spinkit:
|
flutter_spinkit:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: flutter_spinkit
|
name: flutter_spinkit
|
||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.1.2+1"
|
version: "5.1.0"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@ -221,6 +254,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.1"
|
version: "3.1.1"
|
||||||
|
intl:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: intl
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.17.0"
|
||||||
js:
|
js:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -319,6 +359,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.5"
|
version: "2.0.5"
|
||||||
|
pedantic:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: pedantic
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.11.1"
|
||||||
petitparser:
|
petitparser:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@ -361,6 +408,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.1+1"
|
version: "3.0.1+1"
|
||||||
|
settings_ui:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: settings_ui
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.2"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -464,6 +518,20 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.4.8"
|
version: "0.4.8"
|
||||||
|
toggle_switch:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: toggle_switch
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.4.0"
|
||||||
|
transparent_image:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: transparent_image
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
tuple:
|
tuple:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@ -534,6 +602,13 @@ packages:
|
|||||||
url: "https://pub.dartlang.org"
|
url: "https://pub.dartlang.org"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.0.2"
|
version: "2.0.2"
|
||||||
|
uuid:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: uuid
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.6"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user