fix mobile os password edit action

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-11-22 16:14:42 +08:00
parent 515c91a407
commit ec15412755
2 changed files with 27 additions and 11 deletions

View File

@ -92,18 +92,21 @@ List<TTextMenu> toolbarControls(BuildContext context, String id, FFI ffi) {
TTextMenu( TTextMenu(
child: Row(children: [ child: Row(children: [
Text(translate(pi.isHeadless ? 'OS Account' : 'OS Password')), Text(translate(pi.isHeadless ? 'OS Account' : 'OS Password')),
Offstage(
offstage: isDesktop,
child: Icon(Icons.edit, color: MyTheme.accent).marginOnly(left: 12),
)
]), ]),
trailingIcon: Transform.scale( trailingIcon: Transform.scale(
scale: 0.8, scale: isDesktop ? 0.8 : 1,
child: InkWell( child: IconButton(
onTap: () => pi.isHeadless onPressed: () {
? showSetOSAccount(sessionId, ffi.dialogManager) if (isMobile && Navigator.canPop(context)) {
: handleOsPasswordEditIcon(sessionId, ffi.dialogManager), Navigator.pop(context);
child: Icon(Icons.edit), }
if (pi.isHeadless) {
showSetOSAccount(sessionId, ffi.dialogManager);
} else {
handleOsPasswordEditIcon(sessionId, ffi.dialogManager);
}
},
icon: Icon(Icons.edit, color: isMobile ? MyTheme.accent : null),
), ),
), ),
onPressed: () => pi.isHeadless onPressed: () => pi.isHeadless

View File

@ -494,10 +494,23 @@ class _RemotePageState extends State<RemotePage> {
final x = 120.0; final x = 120.0;
final y = size.height; final y = size.height;
final menus = toolbarControls(context, id, gFFI); final menus = toolbarControls(context, id, gFFI);
getChild(TTextMenu menu) {
if (menu.trailingIcon != null) {
return Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
menu.child,
menu.trailingIcon!,
]);
} else {
return menu.child;
}
}
final more = menus final more = menus
.asMap() .asMap()
.entries .entries
.map((e) => PopupMenuItem<int>(child: e.value.child, value: e.key)) .map((e) => PopupMenuItem<int>(child: getChild(e.value), value: e.key))
.toList(); .toList();
() async { () async {
var index = await showMenu( var index = await showMenu(