From aa7a3935e053e3ab7294ce60b767632943fc682b Mon Sep 17 00:00:00 2001 From: uvok Date: Fri, 1 Aug 2025 18:35:31 +0200 Subject: Hilight current selection --- lib/view_model/badge_motive_view_model.dart | 11 +++++++++++ lib/widgets/badge_motive_list.dart | 12 +++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/lib/view_model/badge_motive_view_model.dart b/lib/view_model/badge_motive_view_model.dart index c00a36c..87060f8 100644 --- a/lib/view_model/badge_motive_view_model.dart +++ b/lib/view_model/badge_motive_view_model.dart @@ -54,4 +54,15 @@ class BadgeMotiveViewModel extends ChangeNotifier { currentMotive = motive; notifyListeners(); } + + Future getCurrentMotive() async { + if (_busy) return; + _busy = true; + notifyListeners(); + + currentMotive = await _motivSelect.getCurrentMotive(); + + _busy = false; + notifyListeners(); + } } diff --git a/lib/widgets/badge_motive_list.dart b/lib/widgets/badge_motive_list.dart index a9fe92e..d38ad18 100644 --- a/lib/widgets/badge_motive_list.dart +++ b/lib/widgets/badge_motive_list.dart @@ -30,6 +30,13 @@ class BadgeMotiveList extends NotifyingListWidget { } class _BadgeMotiveListState extends State { + @override + void initState() { + // I have no idea about the connection state here... + //widget._motiveVM.getCurrentMotive().ignore(); + super.initState(); + } + @override Widget build(BuildContext context) { var mytheme = Theme.of(context); @@ -40,7 +47,10 @@ class _BadgeMotiveListState extends State { children: [ ElevatedButton( child: Text("Refresh"), - onPressed: () async => await widget._motiveVM.updateMotives(), + onPressed: () async { + await widget._motiveVM.updateMotives(); + await widget._motiveVM.getCurrentMotive(); + }, ), Expanded( child: ListenableBuilder( -- cgit v1.2.3