reset bang frequency from chips

This commit is contained in:
Fabian Freund
2024-06-20 02:52:39 +02:00
parent 2c71909283
commit 0aef151398
4 changed files with 38 additions and 4 deletions
@@ -97,7 +97,11 @@ class BangDataRepository extends _$BangDataRepository {
return _db.bangIcon.deleteAll();
}
Future<int> clearFrequency() {
Future<int> resetFrequencies() {
return _db.bangFrequency.deleteAll();
}
Future<int> resetFrequency(String trigger) {
return _db.bangFrequency.deleteWhere((t) => t.trigger.equals(trigger));
}
}
@@ -7,7 +7,7 @@ part of 'data.dart';
// **************************************************************************
String _$bangDataRepositoryHash() =>
r'369790e5e6b9c70daa04a898c40f0bed5e008400';
r'ef06babcaa07361e37f5cc62a268eb10aed0fc82';
/// See also [BangDataRepository].
@ProviderFor(BangDataRepository)
@@ -74,7 +74,7 @@ class SearchTab extends HookConsumerWidget {
.read(selectedBangTriggerProvider().notifier)
.setTrigger(trigger);
},
onDeleted: (trigger) {
onDeleted: (trigger) async {
if (ref.read(selectedBangTriggerProvider()) ==
trigger) {
ref
@@ -82,6 +82,36 @@ class SearchTab extends HookConsumerWidget {
selectedBangTriggerProvider().notifier,
)
.clearTrigger();
} else {
final dialogResult = await showDialog<bool>(
context: context,
builder: (context) => AlertDialog(
title: Text(
'Reset usage frequency of !$trigger?',
),
content: const Text(
'This will remove the Bang from quick select.',
),
actions: <Widget>[
TextButton(
onPressed: () =>
Navigator.pop(context, false),
child: const Text('Cancel'),
),
TextButton(
onPressed: () =>
Navigator.pop(context, true),
child: const Text('Reset'),
),
],
),
);
if (dialogResult == true) {
await ref
.read(bangDataRepositoryProvider.notifier)
.resetFrequency(trigger);
}
}
},
),
@@ -249,7 +249,7 @@ class SettingsScreen extends HookConsumerWidget {
onPressed: () async {
await ref
.read(bangDataRepositoryProvider.notifier)
.clearFrequency();
.resetFrequencies();
},
icon: const Icon(Icons.delete),
label: const Text('Clear'),