msgbox start to work

This commit is contained in:
open-trade 2020-11-18 01:55:26 +08:00
parent 1a3a2cf6c7
commit a110db32e9
2 changed files with 28 additions and 5 deletions

View File

@ -93,11 +93,11 @@ class FFI {
return Uint8List.sublistView(ref.data.asTypedList(ref.len)); return Uint8List.sublistView(ref.data.asTypedList(ref.len));
} }
static Map<String, String> popEvent() { static Map<String, dynamic> popEvent() {
var s = getByName('event'); var s = getByName('event');
if (s == '') return null; if (s == '') return null;
try { try {
Map<String, String> event = json.decode(s); Map<String, dynamic> event = json.decode(s);
return event; return event;
} catch (e) { } catch (e) {
print(e); print(e);
@ -178,6 +178,7 @@ void showSuccess(String text) {
// https://material.io/develop/flutter/components/dialogs // https://material.io/develop/flutter/components/dialogs
void enterPasswordDialog(String id, BuildContext context) { void enterPasswordDialog(String id, BuildContext context) {
dismissLoading();
var remember = FFI.getByName('remember', arg: id) == 'true'; var remember = FFI.getByName('remember', arg: id) == 'true';
var dialog = AlertDialog( var dialog = AlertDialog(
title: Text('Please enter your password'), title: Text('Please enter your password'),
@ -219,6 +220,7 @@ void enterPasswordDialog(String id, BuildContext context) {
} }
void wrongPasswordDialog(String id, BuildContext context) { void wrongPasswordDialog(String id, BuildContext context) {
dismissLoading();
var dialog = AlertDialog( var dialog = AlertDialog(
title: Text('Please enter your password'), title: Text('Please enter your password'),
contentPadding: EdgeInsets.zero, contentPadding: EdgeInsets.zero,
@ -241,3 +243,23 @@ void wrongPasswordDialog(String id, BuildContext context) {
); );
showDialog<void>(context: context, builder: (context) => dialog); showDialog<void>(context: context, builder: (context) => dialog);
} }
void msgbox(String type, String title, String text, BuildContext context) {
dismissLoading();
var dialog = AlertDialog(
title: Text(title),
contentPadding: EdgeInsets.zero,
content: Text(text),
actions: [
FlatButton(
textColor: MyTheme.accent,
onPressed: () {
Navigator.pop(context);
Navigator.pop(context);
},
child: Text('OK'),
),
],
);
showDialog<void>(context: context, builder: (context) => dialog);
}

View File

@ -60,15 +60,16 @@ class _RemotePageState extends State<RemotePage> {
} }
} }
void handleMsgbox(evt) { void handleMsgbox(Map<String, dynamic> evt) {
var type = evt['type']; var type = evt['type'];
var title = evt['title']; var title = evt['title'];
var text = evt['text']; var text = evt['text'];
if (type == 'error') { if (type == 're-input-password') {
} else if (type == 're-input-password') {
wrongPasswordDialog(widget.id, context); wrongPasswordDialog(widget.id, context);
} else if (type == 'input-password') { } else if (type == 'input-password') {
enterPasswordDialog(widget.id, context); enterPasswordDialog(widget.id, context);
} else {
msgbox(type, title, text, context);
} }
} }