Skip to content

Commit f89ecb2

Browse files
chrisbobbegnprice
authored andcommitted
msglist: Support deleting a message completely
Fixes #1548. For the confirmation dialog, we considered following web by including a button linking to /help/delete-a-message#delete-a-message-completely but decided not to because there wasn't a natural way to make it subtle/low-attention.
1 parent 5900d7a commit f89ecb2

17 files changed

+437
-22
lines changed

assets/l10n/app_en.arb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,26 @@
277277
"@actionSheetOptionEditMessage": {
278278
"description": "Label for the 'Edit message' button in the message action sheet."
279279
},
280+
"actionSheetOptionDeleteMessage": "Delete message",
281+
"@actionSheetOptionDeleteMessage": {
282+
"description": "Label for the 'Delete message' button in the message action sheet."
283+
},
284+
"deleteMessageConfirmationDialogTitle": "Delete message?",
285+
"@deleteMessageConfirmationDialogTitle": {
286+
"description": "Title for a confirmation dialog for deleting a message."
287+
},
288+
"deleteMessageConfirmationDialogMessage": "Deleting a message permanently removes it for everyone.",
289+
"@deleteMessageConfirmationDialogMessage": {
290+
"description": "Message for a confirmation dialog for deleting a message."
291+
},
292+
"deleteMessageConfirmationDialogConfirmButton": "Delete",
293+
"@deleteMessageConfirmationDialogConfirmButton": {
294+
"description": "Label for the 'Delete' button on a confirmation dialog for deleting a message."
295+
},
296+
"errorDeleteMessageFailedTitle": "Failed to delete message",
297+
"@errorDeleteMessageFailedTitle": {
298+
"description": "Error title when deleting a message failed."
299+
},
280300
"actionSheetOptionMarkTopicAsRead": "Mark topic as read",
281301
"@actionSheetOptionMarkTopicAsRead": {
282302
"description": "Option to mark a specific topic as read in the action sheet."

lib/generated/l10n/zulip_localizations.dart

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,36 @@ abstract class ZulipLocalizations {
521521
/// **'Edit message'**
522522
String get actionSheetOptionEditMessage;
523523

524+
/// Label for the 'Delete message' button in the message action sheet.
525+
///
526+
/// In en, this message translates to:
527+
/// **'Delete message'**
528+
String get actionSheetOptionDeleteMessage;
529+
530+
/// Title for a confirmation dialog for deleting a message.
531+
///
532+
/// In en, this message translates to:
533+
/// **'Delete message?'**
534+
String get deleteMessageConfirmationDialogTitle;
535+
536+
/// Message for a confirmation dialog for deleting a message.
537+
///
538+
/// In en, this message translates to:
539+
/// **'Deleting a message permanently removes it for everyone.'**
540+
String get deleteMessageConfirmationDialogMessage;
541+
542+
/// Label for the 'Delete' button on a confirmation dialog for deleting a message.
543+
///
544+
/// In en, this message translates to:
545+
/// **'Delete'**
546+
String get deleteMessageConfirmationDialogConfirmButton;
547+
548+
/// Error title when deleting a message failed.
549+
///
550+
/// In en, this message translates to:
551+
/// **'Failed to delete message'**
552+
String get errorDeleteMessageFailedTitle;
553+
524554
/// Option to mark a specific topic as read in the action sheet.
525555
///
526556
/// In en, this message translates to:

lib/generated/l10n/zulip_localizations_ar.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,22 @@ class ZulipLocalizationsAr extends ZulipLocalizations {
237237
@override
238238
String get actionSheetOptionEditMessage => 'Edit message';
239239

240+
@override
241+
String get actionSheetOptionDeleteMessage => 'Delete message';
242+
243+
@override
244+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
245+
246+
@override
247+
String get deleteMessageConfirmationDialogMessage =>
248+
'Deleting a message permanently removes it for everyone.';
249+
250+
@override
251+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
252+
253+
@override
254+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
255+
240256
@override
241257
String get actionSheetOptionMarkTopicAsRead => 'Mark topic as read';
242258

lib/generated/l10n/zulip_localizations_de.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,22 @@ class ZulipLocalizationsDe extends ZulipLocalizations {
244244
@override
245245
String get actionSheetOptionEditMessage => 'Nachricht bearbeiten';
246246

247+
@override
248+
String get actionSheetOptionDeleteMessage => 'Delete message';
249+
250+
@override
251+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
252+
253+
@override
254+
String get deleteMessageConfirmationDialogMessage =>
255+
'Deleting a message permanently removes it for everyone.';
256+
257+
@override
258+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
259+
260+
@override
261+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
262+
247263
@override
248264
String get actionSheetOptionMarkTopicAsRead => 'Thema als gelesen markieren';
249265

lib/generated/l10n/zulip_localizations_en.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,22 @@ class ZulipLocalizationsEn extends ZulipLocalizations {
237237
@override
238238
String get actionSheetOptionEditMessage => 'Edit message';
239239

240+
@override
241+
String get actionSheetOptionDeleteMessage => 'Delete message';
242+
243+
@override
244+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
245+
246+
@override
247+
String get deleteMessageConfirmationDialogMessage =>
248+
'Deleting a message permanently removes it for everyone.';
249+
250+
@override
251+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
252+
253+
@override
254+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
255+
240256
@override
241257
String get actionSheetOptionMarkTopicAsRead => 'Mark topic as read';
242258

lib/generated/l10n/zulip_localizations_fr.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,22 @@ class ZulipLocalizationsFr extends ZulipLocalizations {
242242
@override
243243
String get actionSheetOptionEditMessage => 'Modifier le message';
244244

245+
@override
246+
String get actionSheetOptionDeleteMessage => 'Delete message';
247+
248+
@override
249+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
250+
251+
@override
252+
String get deleteMessageConfirmationDialogMessage =>
253+
'Deleting a message permanently removes it for everyone.';
254+
255+
@override
256+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
257+
258+
@override
259+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
260+
245261
@override
246262
String get actionSheetOptionMarkTopicAsRead => 'Marquer le sujet comme lu';
247263

lib/generated/l10n/zulip_localizations_it.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,22 @@ class ZulipLocalizationsIt extends ZulipLocalizations {
241241
@override
242242
String get actionSheetOptionEditMessage => 'Modifica messaggio';
243243

244+
@override
245+
String get actionSheetOptionDeleteMessage => 'Delete message';
246+
247+
@override
248+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
249+
250+
@override
251+
String get deleteMessageConfirmationDialogMessage =>
252+
'Deleting a message permanently removes it for everyone.';
253+
254+
@override
255+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
256+
257+
@override
258+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
259+
244260
@override
245261
String get actionSheetOptionMarkTopicAsRead =>
246262
'Segna l\'argomento come letto';

lib/generated/l10n/zulip_localizations_ja.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,22 @@ class ZulipLocalizationsJa extends ZulipLocalizations {
233233
@override
234234
String get actionSheetOptionEditMessage => 'メッセージを編集';
235235

236+
@override
237+
String get actionSheetOptionDeleteMessage => 'Delete message';
238+
239+
@override
240+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
241+
242+
@override
243+
String get deleteMessageConfirmationDialogMessage =>
244+
'Deleting a message permanently removes it for everyone.';
245+
246+
@override
247+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
248+
249+
@override
250+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
251+
236252
@override
237253
String get actionSheetOptionMarkTopicAsRead => 'トピックを既読にする';
238254

lib/generated/l10n/zulip_localizations_nb.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,22 @@ class ZulipLocalizationsNb extends ZulipLocalizations {
237237
@override
238238
String get actionSheetOptionEditMessage => 'Edit message';
239239

240+
@override
241+
String get actionSheetOptionDeleteMessage => 'Delete message';
242+
243+
@override
244+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
245+
246+
@override
247+
String get deleteMessageConfirmationDialogMessage =>
248+
'Deleting a message permanently removes it for everyone.';
249+
250+
@override
251+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
252+
253+
@override
254+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
255+
240256
@override
241257
String get actionSheetOptionMarkTopicAsRead => 'Mark topic as read';
242258

lib/generated/l10n/zulip_localizations_pl.dart

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,22 @@ class ZulipLocalizationsPl extends ZulipLocalizations {
246246
@override
247247
String get actionSheetOptionEditMessage => 'Zmień wiadomość';
248248

249+
@override
250+
String get actionSheetOptionDeleteMessage => 'Delete message';
251+
252+
@override
253+
String get deleteMessageConfirmationDialogTitle => 'Delete message?';
254+
255+
@override
256+
String get deleteMessageConfirmationDialogMessage =>
257+
'Deleting a message permanently removes it for everyone.';
258+
259+
@override
260+
String get deleteMessageConfirmationDialogConfirmButton => 'Delete';
261+
262+
@override
263+
String get errorDeleteMessageFailedTitle => 'Failed to delete message';
264+
249265
@override
250266
String get actionSheetOptionMarkTopicAsRead =>
251267
'Oznacz wątek jako przeczytany';

0 commit comments

Comments
 (0)