Explorar o código

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

Neeraj Gupta hai 1 ano
pai
achega
e272722d6e

+ 2 - 0
mobile/lib/generated/intl/messages_cs.dart

@@ -29,12 +29,14 @@ class MessageLookup extends MessageLookupByLibrary {
         "contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
         "contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
         "deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
         "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."),
             "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"),
         "editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
         "editsToLocationWillOnlyBeSeenWithinEnte":
         "editsToLocationWillOnlyBeSeenWithinEnte":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Edits to location will only be seen within Ente"),
                 "Edits to location will only be seen within Ente"),
         "fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
         "fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
         "joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
         "joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
+        "locations": MessageLookupByLibrary.simpleMessage("Locations"),
         "modifyYourQueryOrTrySearchingFor":
         "modifyYourQueryOrTrySearchingFor":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Modify your query, or try searching for"),
                 "Modify your query, or try searching for"),

+ 2 - 0
mobile/lib/generated/intl/messages_de.dart

@@ -562,6 +562,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Geteiltes Album löschen?"),
             MessageLookupByLibrary.simpleMessage("Geteiltes Album löschen?"),
         "deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
         "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"),
             "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"),
         "deselectAll": MessageLookupByLibrary.simpleMessage("Alle abwählen"),
         "designedToOutlive":
         "designedToOutlive":
             MessageLookupByLibrary.simpleMessage("Entwickelt um zu bewahren"),
             MessageLookupByLibrary.simpleMessage("Entwickelt um zu bewahren"),
@@ -872,6 +873,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "locationName": MessageLookupByLibrary.simpleMessage("Standortname"),
         "locationName": MessageLookupByLibrary.simpleMessage("Standortname"),
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
             "Ein Standort-Tag gruppiert alle Fotos, die in einem Radius eines Fotos aufgenommen wurden"),
             "Ein Standort-Tag gruppiert alle Fotos, die in einem Radius eines Fotos aufgenommen wurden"),
+        "locations": MessageLookupByLibrary.simpleMessage("Locations"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Sperren"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Sperren"),
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
             "Um den Sperrbildschirm zu aktivieren, legen Sie bitte den Geräte-Passcode oder die Bildschirmsperre in den Systemeinstellungen fest."),
             "Um den Sperrbildschirm zu aktivieren, legen Sie bitte den Geräte-Passcode oder die Bildschirmsperre in den Systemeinstellungen fest."),

+ 4 - 0
mobile/lib/generated/intl/messages_en.dart

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

+ 2 - 0
mobile/lib/generated/intl/messages_es.dart

@@ -487,6 +487,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("¿Borrar álbum compartido?"),
             MessageLookupByLibrary.simpleMessage("¿Borrar álbum compartido?"),
         "deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
         "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"),
             "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":
         "deselectAll":
             MessageLookupByLibrary.simpleMessage("Deseleccionar todo"),
             MessageLookupByLibrary.simpleMessage("Deseleccionar todo"),
         "designedToOutlive":
         "designedToOutlive":
@@ -761,6 +762,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Nombre de la ubicación"),
             MessageLookupByLibrary.simpleMessage("Nombre de la ubicación"),
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
             "Una etiqueta de ubicación agrupa todas las fotos que fueron tomadas dentro de un radio de una foto"),
             "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"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Bloquear"),
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
         "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."),
             "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."),

+ 2 - 0
mobile/lib/generated/intl/messages_fr.dart

@@ -562,6 +562,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "Supprimer l\'album partagé ?"),
             "Supprimer l\'album partagé ?"),
         "deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
         "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"),
             "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":
         "deselectAll":
             MessageLookupByLibrary.simpleMessage("Tout déselectionner"),
             MessageLookupByLibrary.simpleMessage("Tout déselectionner"),
         "designedToOutlive":
         "designedToOutlive":
@@ -870,6 +871,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "locationName": MessageLookupByLibrary.simpleMessage("Nom du lieu"),
         "locationName": MessageLookupByLibrary.simpleMessage("Nom du lieu"),
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
             "Un tag d\'emplacement regroupe toutes les photos qui ont été prises dans un certain rayon d\'une photo"),
             "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"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Verrouiller"),
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
         "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."),
             "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."),

+ 2 - 0
mobile/lib/generated/intl/messages_it.dart

@@ -542,6 +542,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "Eliminare l\'album condiviso?"),
             "Eliminare l\'album condiviso?"),
         "deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
         "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"),
             "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":
         "deselectAll":
             MessageLookupByLibrary.simpleMessage("Deseleziona tutti"),
             MessageLookupByLibrary.simpleMessage("Deseleziona tutti"),
         "designedToOutlive":
         "designedToOutlive":
@@ -838,6 +839,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Nome della località"),
             MessageLookupByLibrary.simpleMessage("Nome della località"),
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
             "Un tag di localizzazione raggruppa tutte le foto scattate entro il raggio di una foto"),
             "Un tag di localizzazione raggruppa tutte le foto scattate entro il raggio di una foto"),
+        "locations": MessageLookupByLibrary.simpleMessage("Locations"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Blocca"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Blocca"),
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
             "Per abilitare la schermata di blocco, configura il codice di accesso del dispositivo o il blocco schermo nelle impostazioni di sistema."),
             "Per abilitare la schermata di blocco, configura il codice di accesso del dispositivo o il blocco schermo nelle impostazioni di sistema."),

+ 2 - 0
mobile/lib/generated/intl/messages_ko.dart

@@ -29,12 +29,14 @@ class MessageLookup extends MessageLookupByLibrary {
         "contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
         "contacts": MessageLookupByLibrary.simpleMessage("Contacts"),
         "deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
         "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."),
             "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"),
         "editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
         "editsToLocationWillOnlyBeSeenWithinEnte":
         "editsToLocationWillOnlyBeSeenWithinEnte":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Edits to location will only be seen within Ente"),
                 "Edits to location will only be seen within Ente"),
         "fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
         "fileTypes": MessageLookupByLibrary.simpleMessage("File types"),
         "joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
         "joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
+        "locations": MessageLookupByLibrary.simpleMessage("Locations"),
         "modifyYourQueryOrTrySearchingFor":
         "modifyYourQueryOrTrySearchingFor":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Modify your query, or try searching for"),
                 "Modify your query, or try searching for"),

+ 2 - 0
mobile/lib/generated/intl/messages_nl.dart

@@ -564,6 +564,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Gedeeld album verwijderen?"),
             MessageLookupByLibrary.simpleMessage("Gedeeld album verwijderen?"),
         "deleteSharedAlbumDialogBody": MessageLookupByLibrary.simpleMessage(
         "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"),
             "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":
         "deselectAll":
             MessageLookupByLibrary.simpleMessage("Alles deselecteren"),
             MessageLookupByLibrary.simpleMessage("Alles deselecteren"),
         "designedToOutlive": MessageLookupByLibrary.simpleMessage(
         "designedToOutlive": MessageLookupByLibrary.simpleMessage(
@@ -880,6 +881,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "locationName": MessageLookupByLibrary.simpleMessage("Locatie naam"),
         "locationName": MessageLookupByLibrary.simpleMessage("Locatie naam"),
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
         "locationTagFeatureDescription": MessageLookupByLibrary.simpleMessage(
             "Een locatie tag groept alle foto\'s die binnen een bepaalde straal van een foto zijn genomen"),
             "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"),
         "lockButtonLabel": MessageLookupByLibrary.simpleMessage("Vergrendel"),
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
         "lockScreenEnablePreSteps": MessageLookupByLibrary.simpleMessage(
             "Om vergrendelscherm in te schakelen, moet u een toegangscode of schermvergrendeling instellen in uw systeeminstellingen."),
             "Om vergrendelscherm in te schakelen, moet u een toegangscode of schermvergrendeling instellen in uw systeeminstellingen."),

+ 2 - 0
mobile/lib/generated/intl/messages_no.dart

@@ -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."),
             "Vi er lei oss for at du forlater oss. Gi oss gjerne en tilbakemelding så vi kan forbedre oss."),
         "deleteConfirmDialogBody": MessageLookupByLibrary.simpleMessage(
         "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."),
             "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"),
         "editLocation": MessageLookupByLibrary.simpleMessage("Edit location"),
         "editsToLocationWillOnlyBeSeenWithinEnte":
         "editsToLocationWillOnlyBeSeenWithinEnte":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
@@ -57,6 +58,7 @@ class MessageLookup extends MessageLookupByLibrary {
         "joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
         "joinDiscord": MessageLookupByLibrary.simpleMessage("Join Discord"),
         "kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
         "kindlyHelpUsWithThisInformation": MessageLookupByLibrary.simpleMessage(
             "Vær vennlig og hjelp oss med denne informasjonen"),
             "Vær vennlig og hjelp oss med denne informasjonen"),
+        "locations": MessageLookupByLibrary.simpleMessage("Locations"),
         "modifyYourQueryOrTrySearchingFor":
         "modifyYourQueryOrTrySearchingFor":
             MessageLookupByLibrary.simpleMessage(
             MessageLookupByLibrary.simpleMessage(
                 "Modify your query, or try searching for"),
                 "Modify your query, or try searching for"),

+ 2 - 0
mobile/lib/generated/intl/messages_pl.dart

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

+ 2 - 0
mobile/lib/generated/intl/messages_pt.dart

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

+ 2 - 0
mobile/lib/generated/intl/messages_zh.dart

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

+ 30 - 20
mobile/lib/generated/l10n.dart

@@ -6919,16 +6919,6 @@ class S {
     );
     );
   }
   }
 
 
-  /// `Descriptions`
-  String get descriptions {
-    return Intl.message(
-      'Descriptions',
-      name: 'descriptions',
-      desc: '',
-      args: [],
-    );
-  }
-
   /// `File types and names`
   /// `File types and names`
   String get fileTypesAndNames {
   String get fileTypesAndNames {
     return Intl.message(
     return Intl.message(
@@ -6949,16 +6939,6 @@ class S {
     );
     );
   }
   }
 
 
-  /// `Locations`
-  String get locations {
-    return Intl.message(
-      'Locations',
-      name: 'locations',
-      desc: '',
-      args: [],
-    );
-  }
-
   /// `Moments`
   /// `Moments`
   String get moments {
   String get moments {
     return Intl.message(
     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...`
   /// `Waiting for verification...`
   String get waitingForVerification {
   String get waitingForVerification {
     return Intl.message(
     return Intl.message(
@@ -8427,6 +8417,26 @@ class S {
       args: [],
       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> {
 class AppLocalizationDelegate extends LocalizationsDelegate<S> {

+ 1 - 0
mobile/lib/l10n/intl_en.arb

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

+ 19 - 4
mobile/lib/ui/viewer/gallery/gallery_app_bar_widget.dart

@@ -631,10 +631,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
             } else if (value == AlbumPopupAction.map) {
             } else if (value == AlbumPopupAction.map) {
               await showOnMap();
               await showOnMap();
             } else if (value == AlbumPopupAction.cleanUncategorized) {
             } else if (value == AlbumPopupAction.cleanUncategorized) {
-              await collectionActions.removeFromUncatIfPresentInOtherAlbum(
-                widget.collection!,
-                context,
-              );
+              await onCleanUncategorizedClick(context);
             } else {
             } else {
               showToast(context, S.of(context).somethingWentWrong);
               showToast(context, S.of(context).somethingWentWrong);
             }
             }
@@ -646,6 +643,24 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
     return actions;
     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 {
   Future<void> setCoverPhoto(BuildContext context) async {
     final int? coverPhotoID = await showPickCoverPhotoSheet(
     final int? coverPhotoID = await showPickCoverPhotoSheet(
       context,
       context,