feat: add local option to main window

This commit is contained in:
Kingtous
2022-07-14 12:32:01 +08:00
parent dcbff672ee
commit 19c3c6034e
4 changed files with 256 additions and 107 deletions

View File

@@ -1,5 +1,6 @@
import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'dart:math';
import 'dart:typed_data';
import 'dart:ui' as ui;
@@ -990,6 +991,17 @@ class FFI {
ffiModel.platformFFI.setByName(name, value);
}
String getOption(String name) {
return ffiModel.platformFFI.getByName("option", name);
}
void setOption(String name, String value) {
Map<String, String> res = Map()
..["name"] = name
..["value"] = value;
return ffiModel.platformFFI.setByName('option', jsonEncode(res));
}
RustdeskImpl get bind => ffiModel.platformFFI.ffiBind;
handleMouse(Map<String, dynamic> evt) {
@@ -1062,6 +1074,22 @@ class FFI {
Future<bool> invokeMethod(String method, [dynamic arguments]) async {
return await ffiModel.platformFFI.invokeMethod(method, arguments);
}
Future<List<String>> getAudioInputs() async {
return await bind.mainGetSoundInputs();
}
String getDefaultAudioInput() {
final input = getOption('audio-input');
if (input.isEmpty && Platform.isWindows) {
return "System Sound";
}
return input;
}
void setDefaultAudioInput(String input){
setOption('audio-input', input);
}
}
class Peer {