diff --git a/lib/src/database/daos/message_retransmissions.dao.dart b/lib/src/database/daos/message_retransmissions.dao.dart index 42da0f4..49cb0a9 100644 --- a/lib/src/database/daos/message_retransmissions.dao.dart +++ b/lib/src/database/daos/message_retransmissions.dao.dart @@ -92,6 +92,10 @@ class MessageRetransmissionDao extends DatabaseAccessor .go(); } + Future clearRetransmissionTable() { + return delete(messageRetransmissions).go(); + } + Future deleteRetransmissionByMessageId(int messageId) { return (delete(messageRetransmissions) ..where((t) => t.messageId.equals(messageId))) diff --git a/lib/src/views/chats/chat_messages_components/chat_date_chip.dart b/lib/src/views/chats/chat_messages_components/chat_date_chip.dart index 24b085e..132b871 100644 --- a/lib/src/views/chats/chat_messages_components/chat_date_chip.dart +++ b/lib/src/views/chats/chat_messages_components/chat_date_chip.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/widgets.dart'; import 'package:intl/intl.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/views/chats/chat_messages.view.dart'; diff --git a/lib/src/views/settings/help/help.view.dart b/lib/src/views/settings/help/help.view.dart index cda7089..87c3a04 100644 --- a/lib/src/views/settings/help/help.view.dart +++ b/lib/src/views/settings/help/help.view.dart @@ -1,8 +1,10 @@ import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:package_info_plus/package_info_plus.dart'; +import 'package:twonly/globals.dart'; import 'package:twonly/src/utils/misc.dart'; import 'package:twonly/src/utils/storage.dart'; +import 'package:twonly/src/views/components/alert_dialog.dart'; import 'package:twonly/src/views/settings/help/contact_us.view.dart'; import 'package:twonly/src/views/settings/help/credits.view.dart'; import 'package:twonly/src/views/settings/help/diagnostics.view.dart'; @@ -89,6 +91,14 @@ class HelpView extends StatelessWidget { })); }, ), + ListTile( + title: const Text("Open Source"), + onTap: () { + launchUrl(Uri.parse('https://github.com/twonlyapp/twonly-app')); + }, + trailing: + const FaIcon(FontAwesomeIcons.arrowUpRightFromSquare, size: 15), + ), ListTile( title: Text(context.lang.settingsHelpImprint), onTap: () { @@ -105,7 +115,18 @@ class HelpView extends StatelessWidget { trailing: const FaIcon(FontAwesomeIcons.arrowUpRightFromSquare, size: 15), ), - const ListTile( + ListTile( + onLongPress: () async { + bool? okay = await showAlertDialog( + context, + "Delete Retransmission messages", + "Only do this if you know what you are doing :)", + ); + if (okay == true) { + await twonlyDB.messageRetransmissionDao + .clearRetransmissionTable(); + } + }, title: Text( 'Copyright twonly', style: TextStyle(color: Colors.grey, fontSize: 13),