ab: opt reaction and message hint

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2023-08-16 10:18:29 +08:00
parent 553a3798a1
commit 1e75b172d6
4 changed files with 85 additions and 32 deletions

View File

@@ -584,6 +584,7 @@ abstract class BasePeerCard extends StatelessWidget {
),
proc: () {
bind.mainCreateShortcut(id: id);
showToast(translate('Successful'));
},
padding: menuPadding,
dismissOnClicked: true,
@@ -599,6 +600,7 @@ abstract class BasePeerCard extends StatelessWidget {
setter: (bool v) async {
await bind.mainSetPeerOption(
id: id, key: key, value: bool2option(key, v));
showToast(translate('Successful'));
},
padding: menuPadding,
dismissOnClicked: true,
@@ -635,6 +637,7 @@ abstract class BasePeerCard extends StatelessWidget {
id: id,
key: kOptionForceAlwaysRelay,
value: bool2option(kOptionForceAlwaysRelay, v));
showToast(translate('Successful'));
},
padding: menuPadding,
dismissOnClicked: true,
@@ -659,6 +662,7 @@ abstract class BasePeerCard extends StatelessWidget {
gFFI.abModel.pushAb();
} else {
await bind.mainSetPeerAlias(id: id, alias: newName);
showToast(translate('Successful'));
_update();
}
}
@@ -708,16 +712,25 @@ abstract class BasePeerCard extends StatelessWidget {
break;
case PeerTabIndex.ab:
gFFI.abModel.deletePeer(id);
await gFFI.abModel.pushAb();
final future = gFFI.abModel.pushAb();
if (shouldSyncAb() && await bind.mainPeerExists(id: peer.id)) {
BotToast.showText(
contentColor: Colors.lightBlue,
text: translate('synced_peer_readded_tip'));
Future.delayed(Duration.zero, () async {
final succ = await future;
if (succ) {
await Future.delayed(Duration(seconds: 2)); // success msg
BotToast.showText(
contentColor: Colors.lightBlue,
text: translate('synced_peer_readded_tip'));
}
});
}
break;
case PeerTabIndex.group:
break;
}
if (tab != PeerTabIndex.ab) {
showToast(translate('Successful'));
}
}
deletePeerConfirmDialog(onSubmit,
@@ -737,6 +750,7 @@ abstract class BasePeerCard extends StatelessWidget {
),
proc: () {
bind.mainForgetPassword(id: id);
showToast(translate('Successful'));
},
padding: menuPadding,
dismissOnClicked: true,
@@ -769,6 +783,7 @@ abstract class BasePeerCard extends StatelessWidget {
favs.add(id);
await bind.mainStoreFav(favs: favs);
}
showToast(translate('Successful'));
}();
},
padding: menuPadding,
@@ -803,6 +818,7 @@ abstract class BasePeerCard extends StatelessWidget {
await bind.mainStoreFav(favs: favs);
await reloadFunc();
}
showToast(translate('Successful'));
}();
},
padding: menuPadding,
@@ -824,7 +840,7 @@ abstract class BasePeerCard extends StatelessWidget {
}
if (!gFFI.abModel.idContainBy(peer.id)) {
gFFI.abModel.addPeer(peer);
await gFFI.abModel.pushAb();
gFFI.abModel.pushAb();
}
}();
},
@@ -1056,7 +1072,7 @@ class AddressBookPeerCard extends BasePeerCard {
proc: () {
editAbTagDialog(gFFI.abModel.getPeerTags(id), (selectedTag) async {
gFFI.abModel.changeTagForPeer(id, selectedTag);
await gFFI.abModel.pushAb();
gFFI.abModel.pushAb();
});
},
padding: super.menuPadding,
@@ -1128,6 +1144,7 @@ void _rdpDialog(String id) async {
id: id, key: 'rdp_username', value: username);
await bind.mainSetPeerOption(
id: id, key: 'rdp_password', value: password);
showToast(translate('Successful'));
close();
}