fix TextField cursor problem
Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
parent
6ea16e4cdb
commit
b004f4b9ee
@ -806,6 +806,8 @@ Future<bool> loginDialog() async {
|
||||
var userNameMsg = "";
|
||||
String pass = "";
|
||||
var passMsg = "";
|
||||
var userContontroller = TextEditingController(text: userName);
|
||||
var pwdController = TextEditingController(text: pass);
|
||||
|
||||
var isInProgress = false;
|
||||
var completer = Completer<bool>();
|
||||
@ -833,13 +835,10 @@ Future<bool> loginDialog() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
userName = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText: userNameMsg.isNotEmpty ? userNameMsg : null),
|
||||
controller: TextEditingController(text: userName),
|
||||
controller: userContontroller,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -859,13 +858,10 @@ Future<bool> loginDialog() async {
|
||||
Expanded(
|
||||
child: TextField(
|
||||
obscureText: true,
|
||||
onChanged: (s) {
|
||||
pass = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText: passMsg.isNotEmpty ? passMsg : null),
|
||||
controller: TextEditingController(text: pass),
|
||||
controller: pwdController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -896,8 +892,8 @@ Future<bool> loginDialog() async {
|
||||
isInProgress = false;
|
||||
});
|
||||
};
|
||||
userName = userName;
|
||||
pass = pass;
|
||||
userName = userContontroller.text;
|
||||
pass = pwdController.text;
|
||||
if (userName.isEmpty) {
|
||||
userNameMsg = translate("Username missed");
|
||||
cancel();
|
||||
|
@ -1025,7 +1025,6 @@ class _ComboBox extends StatelessWidget {
|
||||
|
||||
void changeServer() async {
|
||||
Map<String, dynamic> oldOptions = jsonDecode(await bind.mainGetOptions());
|
||||
print("${oldOptions}");
|
||||
String idServer = oldOptions['custom-rendezvous-server'] ?? "";
|
||||
var idServerMsg = "";
|
||||
String relayServer = oldOptions['relay-server'] ?? "";
|
||||
@ -1033,6 +1032,10 @@ void changeServer() async {
|
||||
String apiServer = oldOptions['api-server'] ?? "";
|
||||
var apiServerMsg = "";
|
||||
var key = oldOptions['key'] ?? "";
|
||||
var idController = TextEditingController(text: idServer);
|
||||
var relayController = TextEditingController(text: relayServer);
|
||||
var apiController = TextEditingController(text: apiServer);
|
||||
var keyController = TextEditingController(text: key);
|
||||
|
||||
var isInProgress = false;
|
||||
gFFI.dialogManager.show((setState, close) {
|
||||
@ -1057,13 +1060,10 @@ void changeServer() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
idServer = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText: idServerMsg.isNotEmpty ? idServerMsg : null),
|
||||
controller: TextEditingController(text: idServer),
|
||||
controller: idController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1082,14 +1082,11 @@ void changeServer() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
relayServer = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText:
|
||||
relayServerMsg.isNotEmpty ? relayServerMsg : null),
|
||||
controller: TextEditingController(text: relayServer),
|
||||
controller: relayController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1108,14 +1105,11 @@ void changeServer() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
apiServer = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText:
|
||||
apiServerMsg.isNotEmpty ? apiServerMsg : null),
|
||||
controller: TextEditingController(text: apiServer),
|
||||
controller: apiController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1134,13 +1128,10 @@ void changeServer() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
key = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
),
|
||||
controller: TextEditingController(text: key),
|
||||
controller: keyController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1171,10 +1162,10 @@ void changeServer() async {
|
||||
isInProgress = false;
|
||||
});
|
||||
};
|
||||
idServer = idServer.trim();
|
||||
relayServer = relayServer.trim();
|
||||
apiServer = apiServer.trim();
|
||||
key = key.trim();
|
||||
idServer = idController.text.trim();
|
||||
relayServer = relayController.text.trim();
|
||||
apiServer = apiController.text.trim().toLowerCase();
|
||||
key = keyController.text.trim();
|
||||
|
||||
if (idServer.isNotEmpty) {
|
||||
idServerMsg = translate(
|
||||
@ -1230,6 +1221,7 @@ void changeWhiteList() async {
|
||||
Map<String, dynamic> oldOptions = jsonDecode(await bind.mainGetOptions());
|
||||
var newWhiteList = ((oldOptions['whitelist'] ?? "") as String).split(',');
|
||||
var newWhiteListField = newWhiteList.join('\n');
|
||||
var controller = TextEditingController(text: newWhiteListField);
|
||||
var msg = "";
|
||||
var isInProgress = false;
|
||||
gFFI.dialogManager.show((setState, close) {
|
||||
@ -1246,15 +1238,12 @@ void changeWhiteList() async {
|
||||
children: [
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
newWhiteListField = s;
|
||||
},
|
||||
maxLines: null,
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText: msg.isEmpty ? null : translate(msg),
|
||||
),
|
||||
controller: TextEditingController(text: newWhiteListField),
|
||||
controller: controller,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1277,7 +1266,7 @@ void changeWhiteList() async {
|
||||
msg = "";
|
||||
isInProgress = true;
|
||||
});
|
||||
newWhiteListField = newWhiteListField.trim();
|
||||
newWhiteListField = controller.text.trim();
|
||||
var newWhiteList = "";
|
||||
if (newWhiteListField.isEmpty) {
|
||||
// pass
|
||||
@ -1319,6 +1308,9 @@ void changeSocks5Proxy() async {
|
||||
username = socks[1];
|
||||
password = socks[2];
|
||||
}
|
||||
var proxyController = TextEditingController(text: proxy);
|
||||
var userController = TextEditingController(text: username);
|
||||
var pwdController = TextEditingController(text: password);
|
||||
|
||||
var isInProgress = false;
|
||||
gFFI.dialogManager.show((setState, close) {
|
||||
@ -1343,13 +1335,10 @@ void changeSocks5Proxy() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
proxy = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
errorText: proxyMsg.isNotEmpty ? proxyMsg : null),
|
||||
controller: TextEditingController(text: proxy),
|
||||
controller: proxyController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1368,13 +1357,10 @@ void changeSocks5Proxy() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
username = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
),
|
||||
controller: TextEditingController(text: username),
|
||||
controller: userController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1393,13 +1379,10 @@ void changeSocks5Proxy() async {
|
||||
),
|
||||
Expanded(
|
||||
child: TextField(
|
||||
onChanged: (s) {
|
||||
password = s;
|
||||
},
|
||||
decoration: InputDecoration(
|
||||
border: OutlineInputBorder(),
|
||||
),
|
||||
controller: TextEditingController(text: password),
|
||||
controller: pwdController,
|
||||
),
|
||||
),
|
||||
],
|
||||
@ -1428,9 +1411,9 @@ void changeSocks5Proxy() async {
|
||||
isInProgress = false;
|
||||
});
|
||||
};
|
||||
proxy = proxy.trim();
|
||||
username = username.trim();
|
||||
password = password.trim();
|
||||
proxy = proxyController.text.trim();
|
||||
username = userController.text.trim();
|
||||
password = pwdController.text.trim();
|
||||
|
||||
if (proxy.isNotEmpty) {
|
||||
proxyMsg =
|
||||
|
@ -462,6 +462,7 @@ class _PeerCardState extends State<_PeerCard>
|
||||
void _rename(String id) async {
|
||||
var isInProgress = false;
|
||||
var name = await bind.mainGetPeerOption(id: id, key: 'alias');
|
||||
var controller = TextEditingController(text: name);
|
||||
if (widget.type == PeerType.ab) {
|
||||
final peer = gFFI.abModel.peers.firstWhere((p) => id == p['id']);
|
||||
if (peer == null) {
|
||||
@ -470,7 +471,6 @@ class _PeerCardState extends State<_PeerCard>
|
||||
name = peer['alias'] ?? "";
|
||||
}
|
||||
}
|
||||
final k = GlobalKey<FormState>();
|
||||
gFFI.dialogManager.show((setState, close) {
|
||||
return CustomAlertDialog(
|
||||
title: Text(translate("Rename")),
|
||||
@ -480,22 +480,9 @@ class _PeerCardState extends State<_PeerCard>
|
||||
Container(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
|
||||
child: Form(
|
||||
key: k,
|
||||
child: TextFormField(
|
||||
controller: TextEditingController(text: name),
|
||||
controller: controller,
|
||||
decoration: InputDecoration(border: OutlineInputBorder()),
|
||||
onChanged: (newStr) {
|
||||
name = newStr;
|
||||
},
|
||||
validator: (s) {
|
||||
if (s == null || s.isEmpty) {
|
||||
return translate("Empty");
|
||||
}
|
||||
return null;
|
||||
},
|
||||
onSaved: (s) {
|
||||
name = s ?? "unnamed";
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
@ -513,11 +500,8 @@ class _PeerCardState extends State<_PeerCard>
|
||||
setState(() {
|
||||
isInProgress = true;
|
||||
});
|
||||
if (k.currentState != null) {
|
||||
if (k.currentState!.validate()) {
|
||||
k.currentState!.save();
|
||||
await bind.mainSetPeerOption(
|
||||
id: id, key: 'alias', value: name);
|
||||
name = controller.text;
|
||||
await bind.mainSetPeerOption(id: id, key: 'alias', value: name);
|
||||
if (widget.type == PeerType.ab) {
|
||||
gFFI.abModel.setPeerOption(id, 'alias', name);
|
||||
await gFFI.abModel.updateAb();
|
||||
@ -527,8 +511,6 @@ class _PeerCardState extends State<_PeerCard>
|
||||
});
|
||||
}
|
||||
close();
|
||||
}
|
||||
}
|
||||
setState(() {
|
||||
isInProgress = false;
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user