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(); return _db.bangIcon.deleteAll();
} }
Future<int> clearFrequency() { Future<int> resetFrequencies() {
return _db.bangFrequency.deleteAll(); 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() => String _$bangDataRepositoryHash() =>
r'369790e5e6b9c70daa04a898c40f0bed5e008400'; r'ef06babcaa07361e37f5cc62a268eb10aed0fc82';
/// See also [BangDataRepository]. /// See also [BangDataRepository].
@ProviderFor(BangDataRepository) @ProviderFor(BangDataRepository)
@@ -74,7 +74,7 @@ class SearchTab extends HookConsumerWidget {
.read(selectedBangTriggerProvider().notifier) .read(selectedBangTriggerProvider().notifier)
.setTrigger(trigger); .setTrigger(trigger);
}, },
onDeleted: (trigger) { onDeleted: (trigger) async {
if (ref.read(selectedBangTriggerProvider()) == if (ref.read(selectedBangTriggerProvider()) ==
trigger) { trigger) {
ref ref
@@ -82,6 +82,36 @@ class SearchTab extends HookConsumerWidget {
selectedBangTriggerProvider().notifier, selectedBangTriggerProvider().notifier,
) )
.clearTrigger(); .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 { onPressed: () async {
await ref await ref
.read(bangDataRepositoryProvider.notifier) .read(bangDataRepositoryProvider.notifier)
.clearFrequency(); .resetFrequencies();
}, },
icon: const Icon(Icons.delete), icon: const Icon(Icons.delete),
label: const Text('Clear'), label: const Text('Clear'),