[mob][photos] Add dialog to describe clean uncat option

This commit is contained in:
Neeraj Gupta 2024-03-11 16:45:40 +05:30 committed by Neeraj Gupta
parent a73f3cc52b
commit e272722d6e
15 changed files with 76 additions and 24 deletions

View file

@ -29,12 +29,14 @@ class MessageLookup extends MessageLookupByLibrary {
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
"deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
"This account is linked to other ente apps, if you use any.\\n\\nYour uploaded data, across all ente apps, will be scheduled for deletion, and your account will be permanently deleted."),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
"editsToLocationWillOnlyBeSeenWithinEnte":
MessageLookupByLibrary.simpleMessage(
"Edits to location will only be seen within Ente"),
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"modifyYourQueryOrTrySearchingFor":
MessageLookupByLibrary.simpleMessage(
"Modify your query, or try searching for"),

View file

@ -562,6 +562,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Geteiltes Album löschen?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"Dieses Album wird für alle gelöscht\n\nDu wirst den Zugriff auf geteilte Fotos in diesem Album, die anderen gehören, verlieren"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll": MessageLookupByLibrary.simpleMessage("Alle abwählen"),
"designedToOutlive":
MessageLookupByLibrary.simpleMessage("Entwickelt um zu bewahren"),
@ -872,6 +873,7 @@ class MessageLookup extends MessageLookupByLibrary {
"locationName": MessageLookupByLibrary.simpleMessage("Standortname"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"Ein Standort-Tag gruppiert alle Fotos, die in einem Radius eines Fotos aufgenommen wurden"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Sperren"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"Um den Sperrbildschirm zu aktivieren, legen Sie bitte den Geräte-Passcode oder die Bildschirmsperre in den Systemeinstellungen fest."),

View file

@ -404,6 +404,8 @@ class MessageLookup extends MessageLookupByLibrary {
"claimedStorageSoFar": m8,
"cleanUncategorized":
MessageLookupByLibrary.simpleMessage("Clean Uncategorized"),
"cleanUncategorizedDescription": MessageLookupByLibrary.simpleMessage(
"Remove all files from Uncategorized that are present in other albums"),
"clearCaches": MessageLookupByLibrary.simpleMessage("Clear caches"),
"clearIndexes": MessageLookupByLibrary.simpleMessage("Clear indexes"),
"click": MessageLookupByLibrary.simpleMessage("• Click"),
@ -548,6 +550,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Delete shared album?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"The album will be deleted for everyone\n\nYou will lose access to shared photos in this album that are owned by others"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll": MessageLookupByLibrary.simpleMessage("Deselect all"),
"designedToOutlive":
MessageLookupByLibrary.simpleMessage("Designed to outlive"),
@ -848,6 +851,7 @@ class MessageLookup extends MessageLookupByLibrary {
"locationName": MessageLookupByLibrary.simpleMessage("Location name"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"A location tag groups all photos that were taken within some radius of a photo"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Lock"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"To enable lockscreen, please setup device passcode or screen lock in your system settings."),

View file

@ -487,6 +487,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("¿Borrar álbum compartido?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"El álbum se eliminará para todos\n\nPerderás el acceso a las fotos compartidas en este álbum que son propiedad de otros"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll":
MessageLookupByLibrary.simpleMessage("Deseleccionar todo"),
"designedToOutlive":
@ -761,6 +762,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Nombre de la ubicación"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"Una etiqueta de ubicación agrupa todas las fotos que fueron tomadas dentro de un radio de una foto"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Bloquear"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"Para activar la pantalla de bloqueo, por favor configure el código de acceso del dispositivo o el bloqueo de pantalla en los ajustes de su sistema."),

View file

@ -562,6 +562,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Supprimer l\'album partagé ?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"L\'album sera supprimé pour tout le monde\n\nVous perdrez l\'accès aux photos partagées dans cet album qui sont détenues par d\'autres personnes"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll":
MessageLookupByLibrary.simpleMessage("Tout déselectionner"),
"designedToOutlive":
@ -870,6 +871,7 @@ class MessageLookup extends MessageLookupByLibrary {
"locationName": MessageLookupByLibrary.simpleMessage("Nom du lieu"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"Un tag d\'emplacement regroupe toutes les photos qui ont été prises dans un certain rayon d\'une photo"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Verrouiller"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"Pour activer l\'écran de verrouillage, veuillez configurer le code d\'accès de l\'appareil ou le verrouillage de l\'écran dans les paramètres de votre système."),

View file

@ -542,6 +542,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Eliminare l\'album condiviso?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"L\'album verrà eliminato per tutti\n\nPerderai l\'accesso alle foto condivise in questo album che sono di proprietà di altri"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll":
MessageLookupByLibrary.simpleMessage("Deseleziona tutti"),
"designedToOutlive":
@ -838,6 +839,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Nome della località"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"Un tag di localizzazione raggruppa tutte le foto scattate entro il raggio di una foto"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Blocca"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"Per abilitare la schermata di blocco, configura il codice di accesso del dispositivo o il blocco schermo nelle impostazioni di sistema."),

View file

@ -29,12 +29,14 @@ class MessageLookup extends MessageLookupByLibrary {
"contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
"deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
"This account is linked to other ente apps, if you use any.\\n\\nYour uploaded data, across all ente apps, will be scheduled for deletion, and your account will be permanently deleted."),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
"editsToLocationWillOnlyBeSeenWithinEnte":
MessageLookupByLibrary.simpleMessage(
"Edits to location will only be seen within Ente"),
"fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"modifyYourQueryOrTrySearchingFor":
MessageLookupByLibrary.simpleMessage(
"Modify your query, or try searching for"),

View file

@ -564,6 +564,7 @@ class MessageLookup extends MessageLookupByLibrary {
MessageLookupByLibrary.simpleMessage("Gedeeld album verwijderen?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"Het album wordt verwijderd voor iedereen\n\nJe verliest de toegang tot gedeelde foto\'s in dit album die eigendom zijn van anderen"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll":
MessageLookupByLibrary.simpleMessage("Alles deselecteren"),
"designedToOutlive": MessageLookupByLibrary.simpleMessage(
@ -880,6 +881,7 @@ class MessageLookup extends MessageLookupByLibrary {
"locationName": MessageLookupByLibrary.simpleMessage("Locatie naam"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"Een locatie tag groept alle foto\'s die binnen een bepaalde straal van een foto zijn genomen"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Vergrendel"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"Om vergrendelscherm in te schakelen, moet u een toegangscode of schermvergrendeling instellen in uw systeeminstellingen."),

View file

@ -41,6 +41,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Vi er lei oss for at du forlater oss. Gi oss gjerne en tilbakemelding så vi kan forbedre oss."),
"deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
"This account is linked to other ente apps, if you use any.\\n\\nYour uploaded data, across all ente apps, will be scheduled for deletion, and your account will be permanently deleted."),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
"editsToLocationWillOnlyBeSeenWithinEnte":
MessageLookupByLibrary.simpleMessage(
@ -57,6 +58,7 @@ class MessageLookup extends MessageLookupByLibrary {
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
"kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
"Vær vennlig og hjelp oss med denne informasjonen"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"modifyYourQueryOrTrySearchingFor":
MessageLookupByLibrary.simpleMessage(
"Modify your query, or try searching for"),

View file

@ -78,6 +78,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Inna, niewymieniona wyżej przyczyna"),
"deleteRequestSLAText": MessageLookupByLibrary.simpleMessage(
"Twoje żądanie zostanie przetworzone w ciągu 72 godzin."),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"doThisLater": MessageLookupByLibrary.simpleMessage("Spróbuj później"),
"editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
"editsToLocationWillOnlyBeSeenWithinEnte":
@ -116,6 +117,7 @@ class MessageLookup extends MessageLookupByLibrary {
"joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
"kindlyHelpUsWithThisInformation":
MessageLookupByLibrary.simpleMessage("Pomóż nam z tą informacją"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"logInLabel": MessageLookupByLibrary.simpleMessage("Zaloguj się"),
"moderateStrength": MessageLookupByLibrary.simpleMessage("Umiarkowana"),
"modifyYourQueryOrTrySearchingFor":

View file

@ -558,6 +558,7 @@ class MessageLookup extends MessageLookupByLibrary {
"Excluir álbum compartilhado?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"O álbum será apagado para todos\n\nVocê perderá o acesso a fotos compartilhadas neste álbum que pertencem aos outros"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll": MessageLookupByLibrary.simpleMessage("Desmarcar todos"),
"designedToOutlive":
MessageLookupByLibrary.simpleMessage("Feito para ter logenvidade"),
@ -873,6 +874,7 @@ class MessageLookup extends MessageLookupByLibrary {
"locationName": MessageLookupByLibrary.simpleMessage("Nome do Local"),
"locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
"Uma tag em grupo de todas as fotos que foram tiradas dentro de algum raio de uma foto"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("Bloquear"),
"lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
"Para ativar o bloqueio de tela, por favor ative um método de autenticação nas configurações do sistema do seu dispositivo."),

View file

@ -465,6 +465,7 @@ class MessageLookup extends MessageLookupByLibrary {
"deleteSharedAlbum": MessageLookupByLibrary.simpleMessage("要删除共享相册吗?"),
"deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
"将为所有人删除相册\n\n您将无法访问此相册中他人拥有的共享照片"),
"descriptions": MessageLookupByLibrary.simpleMessage("Descriptions"),
"deselectAll": MessageLookupByLibrary.simpleMessage("取消全选"),
"designedToOutlive": MessageLookupByLibrary.simpleMessage("经久耐用"),
"details": MessageLookupByLibrary.simpleMessage("详情"),
@ -717,6 +718,7 @@ class MessageLookup extends MessageLookupByLibrary {
"locationName": MessageLookupByLibrary.simpleMessage("地点名称"),
"locationTagFeatureDescription":
MessageLookupByLibrary.simpleMessage("位置标签将在照片的某个半径范围内拍摄的所有照片进行分组"),
"locations": MessageLookupByLibrary.simpleMessage("Locations"),
"lockButtonLabel": MessageLookupByLibrary.simpleMessage("锁定"),
"lockScreenEnablePreSteps":
MessageLookupByLibrary.simpleMessage("要启用锁屏,请在系统设置中设置设备密码或屏幕锁定。"),

View file

@ -6919,16 +6919,6 @@ class S {
);
}
/// `Descriptions`
String get descriptions {
return Intl.message(
'Descriptions',
name: 'descriptions',
desc: '',
args: [],
);
}
/// `File types and names`
String get fileTypesAndNames {
return Intl.message(
@ -6949,16 +6939,6 @@ class S {
);
}
/// `Locations`
String get locations {
return Intl.message(
'Locations',
name: 'locations',
desc: '',
args: [],
);
}
/// `Moments`
String get moments {
return Intl.message(
@ -8318,6 +8298,16 @@ class S {
);
}
/// `Remove all files from Uncategorized that are present in other albums`
String get cleanUncategorizedDescription {
return Intl.message(
'Remove all files from Uncategorized that are present in other albums',
name: 'cleanUncategorizedDescription',
desc: '',
args: [],
);
}
/// `Waiting for verification...`
String get waitingForVerification {
return Intl.message(
@ -8427,6 +8417,26 @@ class S {
args: [],
);
}
/// `Locations`
String get locations {
return Intl.message(
'Locations',
name: 'locations',
desc: '',
args: [],
);
}
/// `Descriptions`
String get descriptions {
return Intl.message(
'Descriptions',
name: 'descriptions',
desc: '',
args: [],
);
}
}
class AppLocalizationDelegate extends LocalizationsDelegate<S> {

View file

@ -1187,6 +1187,7 @@
"changeLocationOfSelectedItems": "Change location of selected items?",
"editsToLocationWillOnlyBeSeenWithinEnte": "Edits to location will only be seen within Ente",
"cleanUncategorized": "Clean Uncategorized",
"cleanUncategorizedDescription": "Remove all files from Uncategorized that are present in other albums",
"waitingForVerification": "Waiting for verification...",
"launchPasskeyUrlAgain": "Launch passkey URL again",
"passkey": "Passkey",

View file

@ -631,10 +631,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
} else if (value == AlbumPopupAction.map) {
await showOnMap();
} else if (value == AlbumPopupAction.cleanUncategorized) {
await collectionActions.removeFromUncatIfPresentInOtherAlbum(
widget.collection!,
context,
);
await onCleanUncategorizedClick(context);
} else {
showToast(context, S.of(context).somethingWentWrong);
}
@ -646,6 +643,24 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
return actions;
}
Future<void> onCleanUncategorizedClick(BuildContext buildContext) async {
final actionResult = await showChoiceActionSheet(
context,
isCritical: true,
title: S.of(context).cleanUncategorized,
firstButtonLabel: S.of(context).confirm,
body: S.of(context).cleanUncategorizedDescription,
);
if (actionResult?.action != null && mounted) {
if (actionResult!.action == ButtonAction.first) {
await collectionActions.removeFromUncatIfPresentInOtherAlbum(
widget.collection!,
buildContext,
);
}
}
}
Future<void> setCoverPhoto(BuildContext context) async {
final int? coverPhotoID = await showPickCoverPhotoSheet(
context,