From 187eafded442fa6f94903bdbe56dbc709735db24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 4 Aug 2024 17:50:00 +0200 Subject: [PATCH 01/55] Fixes video icon not always white --- .../Upload/Pick Local Images/LocalImageCollectionViewCell.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift b/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift index 8dd962dc3..c55c806aa 100644 --- a/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift +++ b/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift @@ -32,6 +32,7 @@ class LocalImageCollectionViewCell: UICollectionViewCell { backgroundColor = .piwigoColorCellBackground() waitingActivity?.color = UIColor.white uploadingProgress?.trackTintColor = UIColor.white + playImg?.tintColor = UIColor.white } func configure(with imageAsset: PHAsset, thumbnailSize: CGSize) { From 3266b22d86d98a651a7d2f724e1ede942549c591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 4 Aug 2024 18:52:06 +0200 Subject: [PATCH 02/55] Removes useless strings, updates French translation --- .../fr.lproj/InAppIntents.strings | 10 +- piwigo/Resources/ar.lproj/Localizable.strings | 13 -- piwigo/Resources/da.lproj/Localizable.strings | 13 -- piwigo/Resources/de.lproj/Localizable.strings | 13 -- piwigo/Resources/en.lproj/Localizable.strings | 13 -- piwigo/Resources/es.lproj/Localizable.strings | 13 -- piwigo/Resources/fr.lproj/Localizable.strings | 117 ++++++++---------- piwigo/Resources/hu.lproj/Localizable.strings | 13 -- piwigo/Resources/id.lproj/Localizable.strings | 13 -- piwigo/Resources/it.lproj/Localizable.strings | 13 -- piwigo/Resources/ja.lproj/Localizable.strings | 13 -- piwigo/Resources/nl.lproj/Localizable.strings | 13 -- piwigo/Resources/pl.lproj/Localizable.strings | 13 -- piwigo/Resources/ru.lproj/Localizable.strings | 13 -- piwigo/Resources/sv.lproj/Localizable.strings | 13 -- .../zh-Hans.lproj/Localizable.strings | 13 -- .../zh-Hant.lproj/Localizable.strings | 13 -- .../LocalImagesViewController+Delegate.swift | 2 +- 18 files changed, 58 insertions(+), 266 deletions(-) diff --git a/piwigo/In-App Intents/fr.lproj/InAppIntents.strings b/piwigo/In-App Intents/fr.lproj/InAppIntents.strings index d0eb9890c..8d09931e1 100644 --- a/piwigo/In-App Intents/fr.lproj/InAppIntents.strings +++ b/piwigo/In-App Intents/fr.lproj/InAppIntents.strings @@ -2,19 +2,19 @@ "1yW2tL" = "${photos} photo(s) ajoutée(s) à la file d'attente."; -"61lMsg" = "Téléchargement automatique des photos"; +"61lMsg" = "Téléversement automatique des photos"; "7zXloB" = "photos"; -"85qLPb" = "Télécharger automatiquement des photos"; +"85qLPb" = "Téléverser automatiquement des photos"; "DYv5Ms" = "${error}"; -"OEvuBy" = "Téléchargement automatique des photos"; +"OEvuBy" = "Téléversement automatique des photos"; -"QlzJjd" = "Ajoute les photos récentes à la file d'attente de téléchargement en arrière-plan conformément aux paramètres de téléchargement automatique."; +"QlzJjd" = "Ajoute les photos récentes à la file d'attente de téléversement en arrière-plan conformément aux paramètres de téléversement automatique."; -"Vz5KMD" = "Ajoute les photos récentes à la file d'attente de téléchargement en arrière-plan."; +"Vz5KMD" = "Ajoute les photos récentes à la file d'attente de téléversement en arrière-plan."; "YtBidq" = "${photos} photo(s) ajoutée(s) à la file d'attente."; diff --git a/piwigo/Resources/ar.lproj/Localizable.strings b/piwigo/Resources/ar.lproj/Localizable.strings index 473de5054..e36a92a02 100644 --- a/piwigo/Resources/ar.lproj/Localizable.strings +++ b/piwigo/Resources/ar.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Other Albums"; "categoryUpload_pasteboard" = "Clipboard"; -"categoyUpload_loadSubCategories" = "تحميل"; -"categoryUpload_images" = "تحميل الصور"; - // Default album "setDefaultCategory_select" = "Please select an album or sub-album which will become the new root album."; "setDefaultCategory_title" = "Default Album"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "العلامات:"; "imageUploadDetails_description" = "الوصف:"; -"imageUploadDetailsView_title" = "الصور"; -"imageUploadDetailsButton_title" = "تحميل"; -"imageUploadDetailsEdit_title" = "تعديل الصور للتحميل"; -"imageUploadDetailsUploading_title" = "الصور التي يتم تحميلها"; -"imageUploadDetailsCell_uploadComplete" = "اكتملت! جار الانتهاء..."; - -"imageUploadRemove" = "Removing uploaded photos"; - "imageUploadTableCell_waiting" = "Waiting..."; "imageUploadTableCell_preparing" = "Preparing..."; "imageUploadTableCell_prepared" = "Ready for upload..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Resume Upload"; "imageUploadResumeSeveral" = "Resume %@ Uploads"; -"imageUploadProgressBar_zero" = "جار التحميل 0/0"; -"imageUploadProgressBar_nonZero" = "جار التحميل %@/%@"; "imageUploadProgressBar_completed" = "اكتملت"; "imageUploadCompleted_title" = "اكتمل التحميل"; "imageUploadCompleted_message" = "صورة / فيديو تم تحميلها إلى خادم Piwigo الخاص بك."; diff --git a/piwigo/Resources/da.lproj/Localizable.strings b/piwigo/Resources/da.lproj/Localizable.strings index 85ed57f4d..cb065b4ac 100644 --- a/piwigo/Resources/da.lproj/Localizable.strings +++ b/piwigo/Resources/da.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Andre Albummer"; "categoryUpload_pasteboard" = "Udklipsholder"; -"categoyUpload_loadSubCategories" = "indlæs"; -"categoryUpload_images" = "Upload billeder"; - // Default album "setDefaultCategory_select" = "Vælg venligst et album eller underalbum, som vil blive det nye rodalbum."; "setDefaultCategory_title" = "Standardalbum"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Etiketter:"; "imageUploadDetails_description" = "Beskrivelse:"; -"imageUploadDetailsView_title" = "Billeder"; -"imageUploadDetailsButton_title" = "Upload"; -"imageUploadDetailsEdit_title" = "Vælg Billeder til Upload"; -"imageUploadDetailsUploading_title" = "Billeder der bliver Uploadet"; -"imageUploadDetailsCell_uploadComplete" = "Fuldført! Efterbehandling..."; - -"imageUploadRemove" = "Fjerner uploadede billeder"; - "imageUploadTableCell_waiting" = "Venter..."; "imageUploadTableCell_preparing" = "Forbereder..."; "imageUploadTableCell_prepared" = "Klar til upload..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Genoptag Upload"; "imageUploadResumeSeveral" = "Genoptag %@ Uploads"; -"imageUploadProgressBar_zero" = "Uploader 0/0"; -"imageUploadProgressBar_nonZero" = "Uploader %@/%@"; "imageUploadProgressBar_completed" = "Fuldført"; "imageUploadCompleted_title" = "Upload Fuldført"; "imageUploadCompleted_message" = "billede/video uploadet til Piwigo server."; diff --git a/piwigo/Resources/de.lproj/Localizable.strings b/piwigo/Resources/de.lproj/Localizable.strings index 385c89017..8ecf413ad 100644 --- a/piwigo/Resources/de.lproj/Localizable.strings +++ b/piwigo/Resources/de.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Andere Alben"; "categoryUpload_pasteboard" = "Zwischenablage"; -"categoyUpload_loadSubCategories" = "Laden"; -"categoryUpload_images" = "Lade Fotos hoch"; - // Default album "setDefaultCategory_select" = "Bitte wählen Sie ein Album oder Unter-Album das Ihr Standard Fotoalbum werden soll."; "setDefaultCategory_title" = "Standard-Album"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Schlagwörter:"; "imageUploadDetails_description" = "Beschreibung:"; -"imageUploadDetailsView_title" = "Fotos"; -"imageUploadDetailsButton_title" = "Hochladen"; -"imageUploadDetailsEdit_title" = "Bearbeite Fotos zum Hochladen"; -"imageUploadDetailsUploading_title" = "Fotos, die hochgeladen werden"; -"imageUploadDetailsCell_uploadComplete" = "Fertig! Abschliessen ..."; - -"imageUploadRemove" = "Hochgeladene Fotos entfernen"; - "imageUploadTableCell_waiting" = "Warten..."; "imageUploadTableCell_preparing" = "Vorbereiten..."; "imageUploadTableCell_prepared" = "Bereit zum Upload..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Fehlgeschlagenen Upload fortsetzen"; "imageUploadResumeSeveral" = "Fehlgeschlagene %@ Uploads fortsetzen"; -"imageUploadProgressBar_zero" = "Hochladen 0/0"; -"imageUploadProgressBar_nonZero" = "Hochladen %@/%@"; "imageUploadProgressBar_completed" = "Abgeschlossen"; "imageUploadCompleted_title" = "Erfolgreich hochgeladen"; "imageUploadCompleted_message" = "Fotos/Videos wurden auf Ihren Piwigo-Server hochgeladen."; diff --git a/piwigo/Resources/en.lproj/Localizable.strings b/piwigo/Resources/en.lproj/Localizable.strings index 241c28f46..62181c22d 100644 --- a/piwigo/Resources/en.lproj/Localizable.strings +++ b/piwigo/Resources/en.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Other Albums"; "categoryUpload_pasteboard" = "Clipboard"; -"categoyUpload_loadSubCategories" = "load"; -"categoryUpload_images" = "Upload Photos"; - // Default album "setDefaultCategory_select" = "Please select an album or sub-album which will become the new root album."; "setDefaultCategory_title" = "Default Album"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Tags:"; "imageUploadDetails_description" = "Description:"; -"imageUploadDetailsView_title" = "Photos"; -"imageUploadDetailsButton_title" = "Upload"; -"imageUploadDetailsEdit_title" = "Edit Photos to Upload"; -"imageUploadDetailsUploading_title" = "Photos that are Being Uploaded"; -"imageUploadDetailsCell_uploadComplete" = "Completed! Finishing up..."; - -"imageUploadRemove" = "Removing uploaded photos"; - "imageUploadTableCell_waiting" = "Waiting..."; "imageUploadTableCell_preparing" = "Preparing..."; "imageUploadTableCell_prepared" = "Ready for upload..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Resume Upload"; "imageUploadResumeSeveral" = "Resume %@ Uploads"; -"imageUploadProgressBar_zero" = "Uploading 0/0"; -"imageUploadProgressBar_nonZero" = "Uploading %@/%@"; "imageUploadProgressBar_completed" = "Completed"; "imageUploadCompleted_title" = "Upload Completed"; "imageUploadCompleted_message" = "photo uploaded to your Piwigo server."; diff --git a/piwigo/Resources/es.lproj/Localizable.strings b/piwigo/Resources/es.lproj/Localizable.strings index a339495be..1e13970c7 100644 --- a/piwigo/Resources/es.lproj/Localizable.strings +++ b/piwigo/Resources/es.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Otros álbumes"; "categoryUpload_pasteboard" = "Portapapeles"; -"categoyUpload_loadSubCategories" = "cargar"; -"categoryUpload_images" = "Subir fotos"; - // Default album "setDefaultCategory_select" = "Seleccione un álbum o sub-álbum que se convertirá en el nuevo álbum raíz."; "setDefaultCategory_title" = "Álbum por defecto"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Tags:"; "imageUploadDetails_description" = "Descripción:"; -"imageUploadDetailsView_title" = "Fotos"; -"imageUploadDetailsButton_title" = "Subir"; -"imageUploadDetailsEdit_title" = "Editar fotos a subir"; -"imageUploadDetailsUploading_title" = "Fotos que se están subiendo"; -"imageUploadDetailsCell_uploadComplete" = "¡Completado! Terminando..."; - -"imageUploadRemove" = "Eliminando fotos subidas"; - "imageUploadTableCell_waiting" = "Esperando..."; "imageUploadTableCell_preparing" = "Preparando..."; "imageUploadTableCell_prepared" = "Listo para subir..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Reanudar la subida fallida"; "imageUploadResumeSeveral" = "Reanudar %@ subidas fallidas"; -"imageUploadProgressBar_zero" = "Subiendo 0/0"; -"imageUploadProgressBar_nonZero" = "Subiendo %@/%@"; "imageUploadProgressBar_completed" = "Terminado"; "imageUploadCompleted_title" = "Transferencia completada"; "imageUploadCompleted_message" = "foto subida a su servidor Piwigo."; diff --git a/piwigo/Resources/fr.lproj/Localizable.strings b/piwigo/Resources/fr.lproj/Localizable.strings index 1a5ad6c7c..c9df8b27b 100644 --- a/piwigo/Resources/fr.lproj/Localizable.strings +++ b/piwigo/Resources/fr.lproj/Localizable.strings @@ -11,7 +11,7 @@ // Tab bar "tabBar_albums" = "Albums"; -"tabBar_upload" = "Envoyer"; +"tabBar_upload" = "Transférer"; "tabBar_preferences" = "Réglages"; // Alert buttons @@ -33,7 +33,7 @@ // Upload rights "uploadRights_title" = "Droits requis"; -"uploadRights_message" = "Vous devez avoir le droit de télécharger pour pouvoir envoyer des photos ou des vidéos."; +"uploadRights_message" = "Vous devez avoir les droits appropriés pour pouvoir transférer des photos ou des vidéos."; // Errors "internetErrorGeneral_title" = "Erreur de connexion"; @@ -212,10 +212,10 @@ "categoryUpload_noSubAlbum" = "Il n'y a pas de sous-album qui puisse recevoir des photos"; "categoryUpload_chooseAlbum" = "Sélectionnez le sous-album recevant les photos"; "categoryUpload_LocalAlbums" = "Albums locaux"; -"categoryUpload_chooseLocalAlbum" = "Sélectionnez l'album local qui contient les photos à envoyer"; +"categoryUpload_chooseLocalAlbum" = "Sélectionnez l'album local qui contient les photos à transférer"; "categoryUpload_sharedAlbums" = "Albums partagés"; "categoryUpload_iCloudAlbums" = "Albums iCloud"; -"categoryUpload_chooseiCloudAlbum" = "Sélectionnez l'album iCloud qui contient les photos à envoyer"; +"categoryUpload_chooseiCloudAlbum" = "Sélectionnez l'album iCloud qui contient les photos à transférer"; "categoryUpload_syncedEvents" = "Événements iPhoto"; "categoryUpload_syncedAlbums" = "Albums iPhoto"; "categoryUpload_syncedFaces" = "Visages iPhoto"; @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Autres albums"; "categoryUpload_pasteboard" = "Presse-papier"; -"categoyUpload_loadSubCategories" = "télécharge"; -"categoryUpload_images" = "Télécharger des photos"; - // Default album "setDefaultCategory_select" = "Veuillez sélectionner un album ou un sous-album qui deviendra le nouvel album racine."; "setDefaultCategory_title" = "Album par défaut"; @@ -507,11 +504,11 @@ "copySeveralImagesError_message" = "Impossible de copier certaines photos"; // Images upload -"imageUploadHeader" = "Veuillez sélectionner l'album ou le sous-album à partir duquel les photos et les vidéos de votre appareil seront téléchargées."; +"imageUploadHeader" = "Veuillez sélectionner l'album ou le sous-album à partir duquel les photos et les vidéos de votre appareil seront transférées."; "imageUploadHeaderTitle_images" = "Paramètres des photos"; "imageUploadHeaderText_images" = "Veuillez définir les paramètres à appliquer à la sélection des photos/vidéos"; -"imageUploadHeaderTitle_upload" = "Réglage des téléchargements"; -"imageUploadHeaderText_upload" = "Veuillez définir les paramètres de téléchargement à appliquer à la sélection des photos/vidéos"; +"imageUploadHeaderTitle_upload" = "Réglage des Transferts"; +"imageUploadHeaderText_upload" = "Veuillez définir les paramètres de transfert à appliquer à la sélection des photos/vidéos"; "imageUploadDetails_title" = "Titre :"; "imageUploadDetails_author" = "Auteur :"; @@ -519,19 +516,11 @@ "imageUploadDetails_tags" = "Tags :"; "imageUploadDetails_description" = "Description :"; -"imageUploadDetailsView_title" = "Photos"; -"imageUploadDetailsButton_title" = "Envoyer"; -"imageUploadDetailsEdit_title" = "Éditer les photos à télécharger"; -"imageUploadDetailsUploading_title" = "Images en cours d'envoi"; -"imageUploadDetailsCell_uploadComplete" = "Envoyée ! Vérification..."; - -"imageUploadRemove" = "Suppression des photos téléchargées"; - "imageUploadTableCell_waiting" = "En attente..."; "imageUploadTableCell_preparing" = "En cours de préparation..."; -"imageUploadTableCell_prepared" = "Prêt à télécharger..."; -"imageUploadTableCell_uploading" = "Téléchargement..."; -"imageUploadTableCell_uploaded" = "Téléchargée"; +"imageUploadTableCell_prepared" = "Prêt pour le transfert…"; +"imageUploadTableCell_uploading" = "Transfert..."; +"imageUploadTableCell_uploaded" = "Transférée"; "imageUploadTableCell_finishing" = "Finalisation..."; "imageUploadClearFailedSingle" = "Effacer transfert échoué"; @@ -541,16 +530,14 @@ "imageUploadResumeSingle" = "Relancer le transfert"; "imageUploadResumeSeveral" = "Relancer %@ transferts"; -"imageUploadProgressBar_zero" = "Téléchargement 0/0"; -"imageUploadProgressBar_nonZero" = "Téléchargement %@/%@"; "imageUploadProgressBar_completed" = "Terminé"; -"imageUploadCompleted_title" = "Téléchargement Terminé"; -"imageUploadCompleted_message" = "photo envoyée à votre serveur Piwigo."; -"imageUploadCompleted_message>1" = "photos envoyées à votre serveur Piwigo."; +"imageUploadCompleted_title" = "Transfert terminé"; +"imageUploadCompleted_message" = "photo transférée à votre serveur Piwigo."; +"imageUploadCompleted_message>1" = "photos transférées à votre serveur Piwigo."; // Image upload — Errors -"uploadError_title" = "Echec du téléchargement"; -"uploadError_message" = "Echec du téléchargement de votre photo. Erreur : %@"; +"uploadError_title" = "Echec du Transfert"; +"uploadError_message" = "Echec du transfert de votre photo. Erreur : %@"; "uploadCancelled_title" = "Transfert annulé"; "uploadNoInternetNetwork" = "Pas de connexion Internet"; "uploadNoWiFiNetwork" = "Pas de connexion Wi-Fi"; @@ -559,19 +546,19 @@ "uploadSection_resumable" = "Transferts réamorçables"; "uploadSection_queue" = "File d'attente des transferts"; -"imageUploadError_title" = "Echec du téléchargement"; +"imageUploadError_title" = "Echec du transfert"; "imageUploadError_format" = "Format de fichier non accepté par le serveur Piwigo."; "imageUploadError_source" = "impossible de créer le source de la photo"; "imageUploadError_destination" = "impossible de créer la destination de la photo"; "imageUploadError_iCloud" = "Echec de la récupération de la photo. Erreur : %@"; -"audioUploadError_title" = "Echec du téléchargement"; +"audioUploadError_title" = "Echec du Transfert"; "audioUploadError_format" = "Désolé, les fichiers audio ne sont pas encore supportés par Piwigo Mobile."; -"videoUploadError_title" = "Echec du téléchargement"; -"videoUploadError_format" = "Désolé, les fichiers de vidéo ayant comme extension .%@ ne sont pas acceptés par le serveur Piwigo."; +"videoUploadError_title" = "Echec du Transfert"; +"videoUploadError_format" = "Désolé, les fichiers vidéo ayant comme extension .%@ ne sont pas acceptés par le serveur Piwigo."; "videoUploadError_iCloud" = "Echec de la récupération de la vidéo. Erreur : %@"; -"videoUploadError_export" = "Désolé, la vidéo n'a pas pu être récupérée pour être téléchargée vers votre Piwigo. Erreur : %@"; +"videoUploadError_export" = "Désolé, la vidéo n'a pas pu être récupérée pour être transférée à votre Piwigo. Erreur : %@"; "videoUploadError_unknown" = "Désolé, le transfert vers votre Piwigo de la vidéo a échoué pour une erreur inconnue lors de la conversion MP4. Erreur : %@"; "videoUploadCancelled_message" = "Le transfert de la vidéo vers votre Piwigo a été annulé."; @@ -634,9 +621,9 @@ "localAlbums_photosNotAuthorized_msg" = "Impossible d’ouvrir la photothèque locale. Allez dans l’application Réglages et activez l’accès pour Piwigo."; // Local images — Explain -"localImages_reUploadTitle" = "Re-télécharger"; +"localImages_reUploadTitle" = "Re-transférer"; "localImages_deleteTitle" = "Retirer de la pellicule"; -"localImages_deleteMessage" = "Voulez-vous supprimer les photos ou vidéos téléchargées de la pellicule ? Les photos ou vidéos supprimées resteront disponibles dans la corbeille de l'app Photos pendant 30 jours."; +"localImages_deleteMessage" = "Voulez-vous supprimer de la pellicule les photos ou vidéos transférées? Les photos ou vidéos supprimées resteront disponibles dans la corbeille de l'app Photos pendant 30 jours."; // =========================================================================== // ==> SETTINGS @@ -723,57 +710,57 @@ "imageSizexFullRes" = "Haute résolution"; // Settings — Upload -"settingsHeader_upload" = "Téléchargements"; +"settingsHeader_upload" = "Transferts"; "settings_defaultAuthor" = "Auteur"; "settings_defaultAuthor>320px" = "Nom d'auteur"; "settings_defaultAuthorPlaceholder" = "Nom de l'auteur"; "settings_defaultPrivacy" = "Qui voit ?"; "settings_defaultPrivacy>414px" = "Veuillez sélectionner qui pourra visualiser les photos"; "settings_stripGPSdata" = "Suppr. métadonnées privées"; -"settings_stripGPSdata>375px" = "Supprimer les métadonnées privées avant envoi"; -"settings_photoResize" = "Réduire avant téléchargement"; +"settings_stripGPSdata>375px" = "Supprimer les métadonnées privées avant transfert"; +"settings_photoResize" = "Réduire avant transfert"; "settings_photoSize" = "Taille"; "settings_placeholderSize" = "Entrez une taille de photo de 5 à 100"; -"settings_photoCompress" = "Compresser avant Envoi"; -"settings_photoCompress>375px" = "Compresser la photo avant envoi"; +"settings_photoCompress" = "Compresser avant transfert"; +"settings_photoCompress>375px" = "Compresser la photo avant transfert"; "settings_photoQuality" = "Qualité"; "settings_placeholderQuality" = "Entrez une qualité de photo entre 50 et 98"; -"settings_prefixFilename>414px" = "Préfixer le nom du fichier photo avant téléchargement"; -"settings_prefixFilename>375px" = "Préfixer nom du fichier avant téléch."; +"settings_prefixFilename>414px" = "Préfixer le nom du fichier photo avant transfert"; +"settings_prefixFilename>375px" = "Préfixer nom du fichier avant transfert"; "settings_prefixFilename" = "Préfixer nom du fichier"; "settings_defaultPrefix" = "Préfixe"; "settings_defaultPrefix>320px" = "Préfixe du fichier"; "settings_defaultPrefixPlaceholder" = "Préfixe"; -"settings_deleteImage>375px" = "Effacer la photo après envoi"; +"settings_deleteImage>375px" = "Effacer la photo après transfert"; "settings_wifiOnly" = "Wi-Fi uniquement"; -"settings_deleteImage" = "Effacer après envoi"; +"settings_deleteImage" = "Effacer après transfert"; // Settings — Auto-Upload -"settings_autoUpload" = "Télécharger automatiquement"; -"settings_autoUpload>414px" = "Télécharger automatiquement des photos"; +"settings_autoUpload" = "Transferts auto"; +"settings_autoUpload>414px" = "Transferts auto. des photos"; "settings_autoUploadEnabled" = "Activé"; -"settings_autoUploadEnabledInfo" = "Les photos seront automatiquement téléchargées sur votre Piwigo."; -"settings_autoUploadEnabledInfoAll" = "Les photos et les vidéos seront automatiquement téléchargées sur votre Piwigo."; +"settings_autoUploadEnabledInfo" = "Les photos seront automatiquement téléversées sur votre Piwigo."; +"settings_autoUploadEnabledInfoAll" = "Les photos et les vidéos seront automatiquement téléversées sur votre Piwigo."; "settings_autoUploadDisabled" = "Désactivé"; -"settings_autoUploadDisabledInfo" = "Les photos ne seront pas automatiquement téléchargées sur votre Piwigo."; +"settings_autoUploadDisabledInfo" = "Les photos ne seront pas automatiquement téléversées sur votre Piwigo."; "settings_autoUploadSource" = "Source"; "settings_autoUploadSourceInvalid" = "Album source invalide"; -"settings_autoUploadSourceInfo" = "Veuillez sélectionner l'album ou le sous-album à partir duquel les photos et les vidéos de votre appareil seront automatiquement téléchargées."; +"settings_autoUploadSourceInfo" = "Veuillez sélectionner l'album ou le sous-album à partir duquel les photos et les vidéos de votre appareil seront automatiquement transférées."; "settings_autoUploadDestination" = "Destination"; "settings_autoUploadDestinationInvalid" = "Album de destination invalide"; -"settings_autoUploadDestinationInfo" = "Veuillez sélectionner l'album ou le sous-album dans lequel les photos et les vidéos seront automatiquement téléchargées."; -"AutoUploadError_Disabled" = "Le téléchargement automatique est désactivé dans les paramètres de l'application."; +"settings_autoUploadDestinationInfo" = "Veuillez sélectionner l'album ou le sous-album dans lequel les photos et les vidéos seront automatiquement transférées."; +"AutoUploadError_Disabled" = "Les transferts automatiques sont désactivés dans les paramètres de l'application."; "AutoUploadError_Failed" = "Plusieurs transferts ont échoué et la file d'attente est en pause. Veuillez vérifier dans l'application s'il vous plaît."; // Settings — Upload Photo Size "UploadPhotoSize_title" = "Taille maximale des photos"; -"UploadPhotoSize_header" = "Veuillez sélectionner la taille maximale des photos qui seront téléchargées."; +"UploadPhotoSize_header" = "Veuillez sélectionner la taille maximale des photos qui seront transférées."; "UploadPhotoSize_resolution" = "Résolution maximale des caméras intégrées :"; "UploadVideoSize_title" = "Taille maximale des vidéos"; -"UploadVideoSize_header" = "Veuillez sélectionner la taille maximale des vidéos qui seront téléchargées."; +"UploadVideoSize_header" = "Veuillez sélectionner la taille maximale des vidéos qui seront transférées."; "UploadVideoSize_resolution" = "Performances maximales des caméras intégrées :"; "UploadPhotoSize_original" = "Sans réduction"; -"UploadRequests_cache" = "Téléchargements"; +"UploadRequests_cache" = "Transferts"; // Settings — Privacy "settingsHeader_privacy" = "Confidentialité"; @@ -848,19 +835,19 @@ // Settings — Help "help01_header" = "Sélection multiple"; "help01_text" = "Faites glisser votre doigt de gauche à droite (ou de droite à gauche) puis vers le bas, etc."; -"help02_header" = "Téléchargement en arrière-plan"; -"help02_text" = "Sélectionnez les photos/vidéos, définissez les paramètres et appuyez sur Envoyer."; -"help02_text2" = "Branchez l'appareil à son chargeur et laissez iOS lancer les téléchargements quand cela est approprié."; +"help02_header" = "Transferts en arrière-plan"; +"help02_text" = "Sélectionnez les photos/vidéos, définissez les paramètres et appuyez sur Transférer."; +"help02_text2" = "Branchez l'appareil à son chargeur et laissez iOS lancer les transferts quand cela est approprié."; "help02_text3" = "(nécessite l'extension uploadAsync ou Piwigo 11)"; "help03_header" = "Administrateurs"; "help03_text" = "Créer, supprimer, déplacer et renommer des albums."; -"help04_text" = "Les photos téléchargées retirées de la pellicule restent disponibles dans la corbeille de l'app iOS Photos pendant 30 jours."; -"help05_header" = "Téléchargement des photos"; -"help05_text" = "Une fois les demandes de téléchargement soumises, vous pouvez parcourir les albums, soumettre d'autres demandes ou quitter l'app."; -"help05_text2" = "Appuyez sur le bouton gris présenté dans l'album racine pour gérer les téléchargements."; -"help06_header" = "Gestion des téléchargements"; -"help06_text" = "Surveillez, annulez et relancez les demandes de téléchargement globalement ou individuellement."; -"help07_header" = "Téléchargement auto"; +"help04_text" = "Les photos transférées retirées de la pellicule restent disponibles dans la corbeille de l'app iOS Photos pendant 30 jours."; +"help05_header" = "Transferts des photos"; +"help05_text" = "Une fois les demandes de transfert soumises, vous pouvez parcourir les albums, soumettre d'autres demandes ou quitter l'app."; +"help05_text2" = "Appuyez sur le bouton gris présenté dans l'album racine pour gérer les transferts."; +"help06_header" = "Gestion des Transferts"; +"help06_text" = "Surveillez, annulez et relancez les demandes de transfert globalement ou individuellement."; +"help07_header" = "Transferts Automatiques"; "help07_text" = "Sélectionnez les albums source et destination dans Piwigo, créez des automatisations dans Raccourcis."; "help08_header" = "Albums parents"; "help08_text" = "Appuyez longuement sur le bouton retour pour afficher la liste des albums parents."; diff --git a/piwigo/Resources/hu.lproj/Localizable.strings b/piwigo/Resources/hu.lproj/Localizable.strings index 75fc53646..b8a6337b6 100644 --- a/piwigo/Resources/hu.lproj/Localizable.strings +++ b/piwigo/Resources/hu.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Egyéb albumok"; "categoryUpload_pasteboard" = "Vágólap"; -"categoyUpload_loadSubCategories" = "betöltés"; -"categoryUpload_images" = "Képek feltöltése"; - // Default album "setDefaultCategory_select" = "Válaszd ki az új főalbumot!"; "setDefaultCategory_title" = "Alapértelmezett Album"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Címkék:"; "imageUploadDetails_description" = "Leírás:"; -"imageUploadDetailsView_title" = "Fotók"; -"imageUploadDetailsButton_title" = "Feltöltés"; -"imageUploadDetailsEdit_title" = "Feltöltendő fotók szerkesztése"; -"imageUploadDetailsUploading_title" = "Fotók feltöltés alatt"; -"imageUploadDetailsCell_uploadComplete" = "Kész! Már csak pár pillanat..."; - -"imageUploadRemove" = "Feltöltött fotók eltávolítása"; - "imageUploadTableCell_waiting" = "Várakozás..."; "imageUploadTableCell_preparing" = "Előkészítés..."; "imageUploadTableCell_prepared" = "Feltöltésre kész..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Feltöltés folytatása"; "imageUploadResumeSeveral" = "%@ feltöltés folytatása"; -"imageUploadProgressBar_zero" = "Feltöltés 0/0"; -"imageUploadProgressBar_nonZero" = "Feltöltés %@/%@"; "imageUploadProgressBar_completed" = "Befejezve"; "imageUploadCompleted_title" = "A feltöltés befejeződött"; "imageUploadCompleted_message" = "fotó feltöltve a Piwigo szerveredre."; diff --git a/piwigo/Resources/id.lproj/Localizable.strings b/piwigo/Resources/id.lproj/Localizable.strings index 6d1ec4d0e..7672a4ab4 100644 --- a/piwigo/Resources/id.lproj/Localizable.strings +++ b/piwigo/Resources/id.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Other Albums"; "categoryUpload_pasteboard" = "Clipboard"; -"categoyUpload_loadSubCategories" = "muat"; -"categoryUpload_images" = "Unggah gambar"; - // Default album "setDefaultCategory_select" = "Please select an album or sub-album which will become the new root album."; "setDefaultCategory_title" = "Default Album"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Tag:"; "imageUploadDetails_description" = "Deskripsi:"; -"imageUploadDetailsView_title" = "Gambar"; -"imageUploadDetailsButton_title" = "Unggah"; -"imageUploadDetailsEdit_title" = "Sunting Gambar untuk Diunggah"; -"imageUploadDetailsUploading_title" = "Gambar yang Akan Diunggah"; -"imageUploadDetailsCell_uploadComplete" = "Lengkap! Selesaikan..."; - -"imageUploadRemove" = "Removing uploaded photos"; - "imageUploadTableCell_waiting" = "Waiting..."; "imageUploadTableCell_preparing" = "Preparing..."; "imageUploadTableCell_prepared" = "Ready for upload..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Resume Upload"; "imageUploadResumeSeveral" = "Resume %@ Uploads"; -"imageUploadProgressBar_zero" = "Mengunggah 0/0"; -"imageUploadProgressBar_nonZero" = "Mengunggah %@/%@"; "imageUploadProgressBar_completed" = "Selesai"; "imageUploadCompleted_title" = "Pengunggahan Selesai"; "imageUploadCompleted_message" = "gambar/video telah duinggah ke peladen Piwigo Anda."; diff --git a/piwigo/Resources/it.lproj/Localizable.strings b/piwigo/Resources/it.lproj/Localizable.strings index 01d9c6936..9000693ae 100644 --- a/piwigo/Resources/it.lproj/Localizable.strings +++ b/piwigo/Resources/it.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Altri Album"; "categoryUpload_pasteboard" = "Appunti"; -"categoyUpload_loadSubCategories" = "carica"; -"categoryUpload_images" = "Carica immagini"; - // Default album "setDefaultCategory_select" = "Seleziona un album o un sottoalbum che diventerà il nuovo album root."; "setDefaultCategory_title" = "Album predefinito"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Tags:"; "imageUploadDetails_description" = "Descrizione:"; -"imageUploadDetailsView_title" = "Immagini"; -"imageUploadDetailsButton_title" = "Carica"; -"imageUploadDetailsEdit_title" = "Modificare le immagini da caricare"; -"imageUploadDetailsUploading_title" = "Immagini che vengono caricate"; -"imageUploadDetailsCell_uploadComplete" = "Completato! Finendo..."; - -"imageUploadRemove" = "Rimozione di immagini caricate"; - "imageUploadTableCell_waiting" = "Attendere..."; "imageUploadTableCell_preparing" = "Preparazione..."; "imageUploadTableCell_prepared" = "Pronto per il caricamento..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Riprendi Caricamento"; "imageUploadResumeSeveral" = "Riprendi %@ caricamenti"; -"imageUploadProgressBar_zero" = "Caricamento in corso 0/0"; -"imageUploadProgressBar_nonZero" = "Caricamento di %@/%@"; "imageUploadProgressBar_completed" = "Completato"; "imageUploadCompleted_title" = "Caricamento Completato"; "imageUploadCompleted_message" = "immagine/video caricati sul server di Piwigo."; diff --git a/piwigo/Resources/ja.lproj/Localizable.strings b/piwigo/Resources/ja.lproj/Localizable.strings index c578be502..b35451978 100644 --- a/piwigo/Resources/ja.lproj/Localizable.strings +++ b/piwigo/Resources/ja.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "その他のアルバム"; "categoryUpload_pasteboard" = "クリップボード"; -"categoyUpload_loadSubCategories" = "読み込む"; -"categoryUpload_images" = "写真をアップロードする"; - // Default album "setDefaultCategory_select" = "新しいアルバムになるアルバムまたはサブアルバムを選択してください。"; "setDefaultCategory_title" = "既定のアルバム"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "タグ:"; "imageUploadDetails_description" = "説明:"; -"imageUploadDetailsView_title" = "写真"; -"imageUploadDetailsButton_title" = "アップロード"; -"imageUploadDetailsEdit_title" = "アップロードする写真を編集します"; -"imageUploadDetailsUploading_title" = "アップロード中の写真"; -"imageUploadDetailsCell_uploadComplete" = "完了!終了中..."; - -"imageUploadRemove" = "アップロードした写真を削除する"; - "imageUploadTableCell_waiting" = "待機中..."; "imageUploadTableCell_preparing" = "準備中..."; "imageUploadTableCell_prepared" = "アップロードの準備ができました..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "失敗したアップロードを再開する"; "imageUploadResumeSeveral" = "%@ 件の失敗したアップロードを再開する"; -"imageUploadProgressBar_zero" = "アップロード中 0/0"; -"imageUploadProgressBar_nonZero" = "アップロード中 %@/%@"; "imageUploadProgressBar_completed" = "完了しました"; "imageUploadCompleted_title" = "アップロードが完了しました"; "imageUploadCompleted_message" = "写真/動画が、Piwigoサーバにアップロードされました。"; diff --git a/piwigo/Resources/nl.lproj/Localizable.strings b/piwigo/Resources/nl.lproj/Localizable.strings index 42b5ad2fd..cd36578d0 100644 --- a/piwigo/Resources/nl.lproj/Localizable.strings +++ b/piwigo/Resources/nl.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Andere albums"; "categoryUpload_pasteboard" = "Klembord"; -"categoyUpload_loadSubCategories" = "laden"; -"categoryUpload_images" = "Foto's uploaden"; - // Default album "setDefaultCategory_select" = "Selecteer een album of sub-album dat het nieuwe root album zal worden."; "setDefaultCategory_title" = "Standaard album"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Labels:"; "imageUploadDetails_description" = "Omschrijving:"; -"imageUploadDetailsView_title" = "Foto's"; -"imageUploadDetailsButton_title" = "Upload"; -"imageUploadDetailsEdit_title" = "Bewerk foto's vóór uploaden"; -"imageUploadDetailsUploading_title" = "Foto's die worden ge-upload"; -"imageUploadDetailsCell_uploadComplete" = "Klaar! Afronden..."; - -"imageUploadRemove" = "Geüploade foto's verwijderen"; - "imageUploadTableCell_waiting" = "Wachten..."; "imageUploadTableCell_preparing" = "Voorbereiden..."; "imageUploadTableCell_prepared" = "Klaar voor upload..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Upload hervatten"; "imageUploadResumeSeveral" = "Hervat %@ Uploads"; -"imageUploadProgressBar_zero" = "Bezig met uploaden 0/0"; -"imageUploadProgressBar_nonZero" = "Bezig met uploaden %@/%@"; "imageUploadProgressBar_completed" = "Klaar"; "imageUploadCompleted_title" = "Uploaden klaar"; "imageUploadCompleted_message" = "foto/video die ge-upload zijn naar jouw Piwigo-server."; diff --git a/piwigo/Resources/pl.lproj/Localizable.strings b/piwigo/Resources/pl.lproj/Localizable.strings index 480f1f3e9..afdbab3c0 100644 --- a/piwigo/Resources/pl.lproj/Localizable.strings +++ b/piwigo/Resources/pl.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Inne albumy"; "categoryUpload_pasteboard" = "Schowek"; -"categoyUpload_loadSubCategories" = "ładowanie"; -"categoryUpload_images" = "Prześlij zdjęcia"; - // Default album "setDefaultCategory_select" = "Wybierz album lub podalbum, który stanie się nowym albumem głównym."; "setDefaultCategory_title" = "Album domyślny"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Tagi:"; "imageUploadDetails_description" = "Opis:"; -"imageUploadDetailsView_title" = "Zdjęcia"; -"imageUploadDetailsButton_title" = "Wyślij"; -"imageUploadDetailsEdit_title" = "Edycja informacji o przesyłanym zdjęciu"; -"imageUploadDetailsUploading_title" = "Przesyłane zdjęcia"; -"imageUploadDetailsCell_uploadComplete" = "Zakończone! Finalizowanie..."; - -"imageUploadRemove" = "Usuwanie przesłanych zdjęć"; - "imageUploadTableCell_waiting" = "Oczekiwanie..."; "imageUploadTableCell_preparing" = "Przygotowywanie..."; "imageUploadTableCell_prepared" = "Gotowy do przesłania..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Wznów nieudane przesyłanie"; "imageUploadResumeSeveral" = "Wznów nieudane przesyłanie: %@"; -"imageUploadProgressBar_zero" = "Przesyłanie 0/0"; -"imageUploadProgressBar_nonZero" = "Przesyłanie %@/%@"; "imageUploadProgressBar_completed" = "Zakończono"; "imageUploadCompleted_title" = "Przesyłanie Zakończone"; "imageUploadCompleted_message" = "zdjęcie/film zostało przesłane do Twojego serwera Piwigo."; diff --git a/piwigo/Resources/ru.lproj/Localizable.strings b/piwigo/Resources/ru.lproj/Localizable.strings index ee743c34e..7609ec1ca 100644 --- a/piwigo/Resources/ru.lproj/Localizable.strings +++ b/piwigo/Resources/ru.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Другие Альбомы"; "categoryUpload_pasteboard" = "Буфер обмена"; -"categoyUpload_loadSubCategories" = "загрузить"; -"categoryUpload_images" = "Загрузить фото"; - // Default album "setDefaultCategory_select" = "Пожалуйста, выберите альбом или подальбом, который станет Вашим новым корневым альбомом."; "setDefaultCategory_title" = "Альбом по умолчанию"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Тэги:"; "imageUploadDetails_description" = "Описание:"; -"imageUploadDetailsView_title" = "Фото"; -"imageUploadDetailsButton_title" = "Загрузка"; -"imageUploadDetailsEdit_title" = "Редактирование фотографий для загрузки"; -"imageUploadDetailsUploading_title" = "Изображения, которые были загружены"; -"imageUploadDetailsCell_uploadComplete" = "Завершено! Финишируем..."; - -"imageUploadRemove" = "Перенос загруженных изображений"; - "imageUploadTableCell_waiting" = "Ожидание..."; "imageUploadTableCell_preparing" = "Подготовка..."; "imageUploadTableCell_prepared" = "Готово к загрузке..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Возобновить Загрузку"; "imageUploadResumeSeveral" = "Возобновить %@ Загрузок"; -"imageUploadProgressBar_zero" = "Загрузка 0/0"; -"imageUploadProgressBar_nonZero" = "Загрузка %@/%@"; "imageUploadProgressBar_completed" = "Выполнено"; "imageUploadCompleted_title" = "Загрузка завершена"; "imageUploadCompleted_message" = "фото загружено на Ваш сервер Piwigo."; diff --git a/piwigo/Resources/sv.lproj/Localizable.strings b/piwigo/Resources/sv.lproj/Localizable.strings index fa010af00..ae89060e6 100644 --- a/piwigo/Resources/sv.lproj/Localizable.strings +++ b/piwigo/Resources/sv.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "Andra album"; "categoryUpload_pasteboard" = "Urklipp"; -"categoyUpload_loadSubCategories" = "ladda"; -"categoryUpload_images" = "Ladda upp bilder"; - // Default album "setDefaultCategory_select" = "Välj ett album eller underalbum som kommer att bli det nya rotalbumet."; "setDefaultCategory_title" = "Standardalbum"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "Taggar:"; "imageUploadDetails_description" = "Beskrivning:"; -"imageUploadDetailsView_title" = "Bilder"; -"imageUploadDetailsButton_title" = "Ladda upp"; -"imageUploadDetailsEdit_title" = "Bearbeta bilder för uppladdning"; -"imageUploadDetailsUploading_title" = "Bilder som laddas upp"; -"imageUploadDetailsCell_uploadComplete" = "Klart! Färdigställer..."; - -"imageUploadRemove" = "Tar bort uppladdade bilder"; - "imageUploadTableCell_waiting" = "Väntar..."; "imageUploadTableCell_preparing" = "Förbereder..."; "imageUploadTableCell_prepared" = "Redo för uppladdning..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "Återuppta uppladdning"; "imageUploadResumeSeveral" = "Återuppta %@ uppladdningar"; -"imageUploadProgressBar_zero" = "Laddar upp 0/0"; -"imageUploadProgressBar_nonZero" = "Ladda upp %@/%@"; "imageUploadProgressBar_completed" = "Klart"; "imageUploadCompleted_title" = "Uppladdning Slutförd"; "imageUploadCompleted_message" = "bilder/videor laddades upp till din Piwigoserver."; diff --git a/piwigo/Resources/zh-Hans.lproj/Localizable.strings b/piwigo/Resources/zh-Hans.lproj/Localizable.strings index bbfa1cf86..a121d7a0f 100644 --- a/piwigo/Resources/zh-Hans.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hans.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "其他相册"; "categoryUpload_pasteboard" = "剪贴板"; -"categoyUpload_loadSubCategories" = "加载"; -"categoryUpload_images" = "上传图片"; - // Default album "setDefaultCategory_select" = "请选择一个相册或子相册作为新的根相册"; "setDefaultCategory_title" = "默认相册"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "标签:"; "imageUploadDetails_description" = "描述:"; -"imageUploadDetailsView_title" = "照片"; -"imageUploadDetailsButton_title" = "上传"; -"imageUploadDetailsEdit_title" = "编辑要上传的照片"; -"imageUploadDetailsUploading_title" = "正在被上传的照片"; -"imageUploadDetailsCell_uploadComplete" = "即将完成..."; - -"imageUploadRemove" = "移除已上传的照片"; - "imageUploadTableCell_waiting" = "请稍等..."; "imageUploadTableCell_preparing" = "正在准备..."; "imageUploadTableCell_prepared" = "已准备好上传..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "继续上传"; "imageUploadResumeSeveral" = "继续剩余的 %@ 个上传"; -"imageUploadProgressBar_zero" = "正在上传 0/0"; -"imageUploadProgressBar_nonZero" = "正在上传 %@/%@"; "imageUploadProgressBar_completed" = "完成"; "imageUploadCompleted_title" = "上传完成"; "imageUploadCompleted_message" = "照片成功上传到你的Piwigo服务器"; diff --git a/piwigo/Resources/zh-Hant.lproj/Localizable.strings b/piwigo/Resources/zh-Hant.lproj/Localizable.strings index 7999a6518..1b6b653d3 100644 --- a/piwigo/Resources/zh-Hant.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hant.lproj/Localizable.strings @@ -223,9 +223,6 @@ "categoryUpload_otherAlbums" = "其他相簿"; "categoryUpload_pasteboard" = "剪貼簿"; -"categoyUpload_loadSubCategories" = "載入"; -"categoryUpload_images" = "上傳照片"; - // Default album "setDefaultCategory_select" = "請選擇一個相簿或子相簿來做為新的根相簿。"; "setDefaultCategory_title" = "預設相簿"; @@ -519,14 +516,6 @@ "imageUploadDetails_tags" = "標籤:"; "imageUploadDetails_description" = "描述:"; -"imageUploadDetailsView_title" = "照片"; -"imageUploadDetailsButton_title" = "上傳"; -"imageUploadDetailsEdit_title" = "編輯要上傳的照片"; -"imageUploadDetailsUploading_title" = "正在被上傳的照片"; -"imageUploadDetailsCell_uploadComplete" = "完成! 正在收尾..."; - -"imageUploadRemove" = "移除以刪除的照片"; - "imageUploadTableCell_waiting" = "等待中..."; "imageUploadTableCell_preparing" = "準備中..."; "imageUploadTableCell_prepared" = "已經準備好上傳..."; @@ -541,8 +530,6 @@ "imageUploadResumeSingle" = "恢復上傳"; "imageUploadResumeSeveral" = "恢復%@個上傳"; -"imageUploadProgressBar_zero" = "上傳中 0/0"; -"imageUploadProgressBar_nonZero" = "上傳中 %@/%@"; "imageUploadProgressBar_completed" = "完成"; "imageUploadCompleted_title" = "上傳完成"; "imageUploadCompleted_message" = "張照片已上傳到您的Piwigo伺服器。"; diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift index a8390922f..fd0fbaacc 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift @@ -230,7 +230,7 @@ extension LocalImagesViewController: UICollectionViewDelegate @available(iOS 13.0, *) private func uploaAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath) -> UIAction { - return UIAction(title: NSLocalizedString("imageUploadDetailsButton_title", comment: "Upload"), + return UIAction(title: NSLocalizedString("tabBar_upload", comment: "Upload"), image: UIImage(contentsOfFile: "piwigo")) { action in // Check that an upload request does not exist for that image if (self.uploads.fetchedObjects ?? []) From fe82e3d7649ffb5fb0dd4073b5e41231f72d715c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 4 Aug 2024 18:59:31 +0200 Subject: [PATCH 03/55] Corrects translation --- piwigo/Resources/fr.lproj/Localizable.strings | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/piwigo/Resources/fr.lproj/Localizable.strings b/piwigo/Resources/fr.lproj/Localizable.strings index c9df8b27b..55830c948 100644 --- a/piwigo/Resources/fr.lproj/Localizable.strings +++ b/piwigo/Resources/fr.lproj/Localizable.strings @@ -507,7 +507,7 @@ "imageUploadHeader" = "Veuillez sélectionner l'album ou le sous-album à partir duquel les photos et les vidéos de votre appareil seront transférées."; "imageUploadHeaderTitle_images" = "Paramètres des photos"; "imageUploadHeaderText_images" = "Veuillez définir les paramètres à appliquer à la sélection des photos/vidéos"; -"imageUploadHeaderTitle_upload" = "Réglage des Transferts"; +"imageUploadHeaderTitle_upload" = "Réglage des transferts"; "imageUploadHeaderText_upload" = "Veuillez définir les paramètres de transfert à appliquer à la sélection des photos/vidéos"; "imageUploadDetails_title" = "Titre :"; From 216ff2ef0a053da472d767327afb4d084dd77e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 4 Aug 2024 19:06:45 +0200 Subject: [PATCH 04/55] Fixes number of photos appearing twice at the bottom of the root album --- piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift b/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift index 76554fcfd..ac83d9fb8 100644 --- a/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift +++ b/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift @@ -99,7 +99,7 @@ extension AlbumViewController: UICollectionViewDelegateFlowLayout default /* Images */: // Number of images shown at the bottom of the collection - guard section == images.sections?.count ?? 0 + guard categoryId != Int32.zero, section == images.sections?.count ?? 0 else { return CGSize.zero } } From 796a690678bd21a69902ff112bf9c3881d94dc59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 6 Aug 2024 12:52:06 +0200 Subject: [PATCH 05/55] Fixes a crash occurring when adding a tag to a pasteboard object before upload, Adds context menu to pasteboard objects --- piwigo.xcodeproj/project.pbxproj | 32 ++- ...LocalImagesViewController+DataSource.swift | 2 +- .../LocalImagesViewController+Delegate.swift | 57 ++-- ...lImagesViewController+HeaderDelegate.swift | 2 +- ...sViewController+UploadSwitchDelegate.swift | 24 +- .../LocalImageCollectionViewCell.swift | 2 +- .../LocalImagePreviewViewController.swift | 5 + .../LocalImagesViewController.swift | 18 +- .../PasteboardImagesViewController+Data.swift | 55 ++-- ...oardImagesViewController+DataSource.swift} | 52 ++-- ...teboardImagesViewController+Delegate.swift | 246 ++++++++++++++++++ ...boardImagesViewController+FlowLayout.swift | 43 +++ ...ImagesViewController+HeaderDelegate.swift} | 4 +- ...asteboardImagesViewController+Select.swift | 161 ++++++++++++ ...wController+UICollectionViewDelegate.swift | 79 ------ ...sViewController+UploadSwitchDelegate.swift | 34 ++- .../PasteboardImagesViewController.swift | 192 ++------------ .../LocalAlbumsViewController.swift | 8 +- .../UploadSwitchViewController.swift | 1 - 19 files changed, 649 insertions(+), 368 deletions(-) rename piwigo/Upload/Pick Pasteboard Images/Extensions/{PasteboardImagesViewController+UICollectionViewDataSource.swift => PasteboardImagesViewController+DataSource.swift} (88%) create mode 100644 piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift create mode 100644 piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+FlowLayout.swift rename piwigo/Upload/Pick Pasteboard Images/Extensions/{PasteboardImagesViewController+HeaderReusableViewDelegate.swift => PasteboardImagesViewController+HeaderDelegate.swift} (94%) create mode 100644 piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift delete mode 100644 piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UICollectionViewDelegate.swift diff --git a/piwigo.xcodeproj/project.pbxproj b/piwigo.xcodeproj/project.pbxproj index 6f9135a7c..f08bc67a0 100644 --- a/piwigo.xcodeproj/project.pbxproj +++ b/piwigo.xcodeproj/project.pbxproj @@ -186,6 +186,8 @@ AD3DB4152773958A00017542 /* ImageDescriptionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3DB4142773958A00017542 /* ImageDescriptionView.swift */; }; AD3EE6012B811349002B5CDB /* pwg.image.rotate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD3EE6002B811349002B5CDB /* pwg.image.rotate.swift */; }; AD3FF5F42682908000D2F52A /* UIImage+AppTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADCC996425B452670034CB4A /* UIImage+AppTools.swift */; }; + AD400B212C61334200DC9A61 /* PasteboardImagesViewController+FlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD400B202C61334200DC9A61 /* PasteboardImagesViewController+FlowLayout.swift */; }; + AD400B232C6137A200DC9A61 /* PasteboardImagesViewController+Select.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD400B222C6137A200DC9A61 /* PasteboardImagesViewController+Select.swift */; }; AD41530F27C6D35D00DE01CB /* LoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD41530E27C6D35D00DE01CB /* LoginViewController.swift */; }; AD41531527C6D37D00DE01CB /* LoginNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD41531427C6D37C00DE01CB /* LoginNavigationController.swift */; }; AD42568C2ACB584F00D7CCC8 /* VideoControlsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD42568B2ACB584F00D7CCC8 /* VideoControlsView.xib */; }; @@ -250,11 +252,11 @@ AD6BA0F12BA5B04200755257 /* LocalImagesViewController+PHPhotoLibraryChangeObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F02BA5B04200755257 /* LocalImagesViewController+PHPhotoLibraryChangeObserver.swift */; }; AD6BA0F32BA5BDDC00755257 /* LocalImagesViewController+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F22BA5BDDC00755257 /* LocalImagesViewController+Data.swift */; }; AD6BA0F52BA5C00500755257 /* LocalImagesViewController+HeaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F42BA5C00500755257 /* LocalImagesViewController+HeaderDelegate.swift */; }; - AD6BA0F82BA5C18100755257 /* PasteboardImagesViewController+UICollectionViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F72BA5C18100755257 /* PasteboardImagesViewController+UICollectionViewDelegate.swift */; }; - AD6BA0FA2BA5C1D600755257 /* PasteboardImagesViewController+UICollectionViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F92BA5C1D600755257 /* PasteboardImagesViewController+UICollectionViewDataSource.swift */; }; + AD6BA0F82BA5C18100755257 /* PasteboardImagesViewController+Delegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F72BA5C18100755257 /* PasteboardImagesViewController+Delegate.swift */; }; + AD6BA0FA2BA5C1D600755257 /* PasteboardImagesViewController+DataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0F92BA5C1D600755257 /* PasteboardImagesViewController+DataSource.swift */; }; AD6BA0FC2BA5D01800755257 /* PasteboardImagesViewController+UploadSwitchDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0FB2BA5D01800755257 /* PasteboardImagesViewController+UploadSwitchDelegate.swift */; }; AD6BA0FE2BA5D15900755257 /* PasteboardImagesViewController+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0FD2BA5D15900755257 /* PasteboardImagesViewController+Data.swift */; }; - AD6BA1002BA5D2FA00755257 /* PasteboardImagesViewController+HeaderReusableViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0FF2BA5D2FA00755257 /* PasteboardImagesViewController+HeaderReusableViewDelegate.swift */; }; + AD6BA1002BA5D2FA00755257 /* PasteboardImagesViewController+HeaderDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA0FF2BA5D2FA00755257 /* PasteboardImagesViewController+HeaderDelegate.swift */; }; AD6BA1042BA5ED1A00755257 /* LocalImagePreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6BA1032BA5ED1A00755257 /* LocalImagePreviewViewController.swift */; }; AD6FD1FA24BEFFAA009AA3B7 /* UploadSwitchViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AD6FD1F924BEFFAA009AA3B7 /* UploadSwitchViewController.storyboard */; }; AD6FD1FC24BF0321009AA3B7 /* UploadSwitchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD6FD1FB24BF0321009AA3B7 /* UploadSwitchViewController.swift */; }; @@ -797,6 +799,8 @@ AD3FDDE91F2E23F700F71C81 /* da */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/About.strings; sourceTree = ""; }; AD3FDDEA1F2E23F700F71C81 /* da */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/ReleaseNotes.strings; sourceTree = ""; }; AD3FDDEB1F2E23F700F71C81 /* da */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = da; path = da.lproj/AppStore.strings; sourceTree = ""; }; + AD400B202C61334200DC9A61 /* PasteboardImagesViewController+FlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+FlowLayout.swift"; sourceTree = ""; }; + AD400B222C6137A200DC9A61 /* PasteboardImagesViewController+Select.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+Select.swift"; sourceTree = ""; }; AD41530E27C6D35D00DE01CB /* LoginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViewController.swift; sourceTree = ""; }; AD41531427C6D37C00DE01CB /* LoginNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginNavigationController.swift; sourceTree = ""; }; AD42568B2ACB584F00D7CCC8 /* VideoControlsView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VideoControlsView.xib; sourceTree = ""; }; @@ -863,11 +867,11 @@ AD6BA0F02BA5B04200755257 /* LocalImagesViewController+PHPhotoLibraryChangeObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LocalImagesViewController+PHPhotoLibraryChangeObserver.swift"; sourceTree = ""; }; AD6BA0F22BA5BDDC00755257 /* LocalImagesViewController+Data.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LocalImagesViewController+Data.swift"; sourceTree = ""; }; AD6BA0F42BA5C00500755257 /* LocalImagesViewController+HeaderDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "LocalImagesViewController+HeaderDelegate.swift"; sourceTree = ""; }; - AD6BA0F72BA5C18100755257 /* PasteboardImagesViewController+UICollectionViewDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+UICollectionViewDelegate.swift"; sourceTree = ""; }; - AD6BA0F92BA5C1D600755257 /* PasteboardImagesViewController+UICollectionViewDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+UICollectionViewDataSource.swift"; sourceTree = ""; }; + AD6BA0F72BA5C18100755257 /* PasteboardImagesViewController+Delegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+Delegate.swift"; sourceTree = ""; }; + AD6BA0F92BA5C1D600755257 /* PasteboardImagesViewController+DataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+DataSource.swift"; sourceTree = ""; }; AD6BA0FB2BA5D01800755257 /* PasteboardImagesViewController+UploadSwitchDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+UploadSwitchDelegate.swift"; sourceTree = ""; }; AD6BA0FD2BA5D15900755257 /* PasteboardImagesViewController+Data.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+Data.swift"; sourceTree = ""; }; - AD6BA0FF2BA5D2FA00755257 /* PasteboardImagesViewController+HeaderReusableViewDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+HeaderReusableViewDelegate.swift"; sourceTree = ""; }; + AD6BA0FF2BA5D2FA00755257 /* PasteboardImagesViewController+HeaderDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PasteboardImagesViewController+HeaderDelegate.swift"; sourceTree = ""; }; AD6BA1032BA5ED1A00755257 /* LocalImagePreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalImagePreviewViewController.swift; sourceTree = ""; }; AD6BA1052BA8E32700755257 /* DataModel 0D (Album).xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = "DataModel 0D (Album).xcdatamodel"; sourceTree = ""; }; AD6FD1F924BEFFAA009AA3B7 /* UploadSwitchViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = UploadSwitchViewController.storyboard; sourceTree = ""; }; @@ -1742,9 +1746,11 @@ isa = PBXGroup; children = ( AD6BA0FD2BA5D15900755257 /* PasteboardImagesViewController+Data.swift */, - AD6BA0F72BA5C18100755257 /* PasteboardImagesViewController+UICollectionViewDelegate.swift */, - AD6BA0F92BA5C1D600755257 /* PasteboardImagesViewController+UICollectionViewDataSource.swift */, - AD6BA0FF2BA5D2FA00755257 /* PasteboardImagesViewController+HeaderReusableViewDelegate.swift */, + AD6BA0F92BA5C1D600755257 /* PasteboardImagesViewController+DataSource.swift */, + AD400B202C61334200DC9A61 /* PasteboardImagesViewController+FlowLayout.swift */, + AD6BA0F72BA5C18100755257 /* PasteboardImagesViewController+Delegate.swift */, + AD400B222C6137A200DC9A61 /* PasteboardImagesViewController+Select.swift */, + AD6BA0FF2BA5D2FA00755257 /* PasteboardImagesViewController+HeaderDelegate.swift */, AD6BA0FB2BA5D01800755257 /* PasteboardImagesViewController+UploadSwitchDelegate.swift */, ); path = Extensions; @@ -3320,6 +3326,7 @@ AD12D6F62AA657080038BBFF /* VideoControlsView.swift in Sources */, ADEA269C285F8F2E00B6C9A0 /* ImageViewController+Favorites.swift in Sources */, ADF3EC0C2516515500379E53 /* Device+Model.swift in Sources */, + AD400B212C61334200DC9A61 /* PasteboardImagesViewController+FlowLayout.swift in Sources */, ADDB2A5E2B416A8400FDC1B1 /* EditImageParamsViewController+UITextField.swift in Sources */, AD7D415C2B4435AC0095A070 /* AutoUploadViewController+Tags.swift in Sources */, ADDB2A682B416DC600FDC1B1 /* EditImageParamsViewController+DatePicker.swift in Sources */, @@ -3327,7 +3334,7 @@ AD07CAC026DBF13800BEAEFB /* EditImageDatePickerTableViewCell.swift in Sources */, AD07CABC26DBDC4500BEAEFB /* EditImageTextFieldTableViewCell.swift in Sources */, AD7A0CC22C10FF4A008AB50F /* UIButton+AppTools.swift in Sources */, - AD6BA0F82BA5C18100755257 /* PasteboardImagesViewController+UICollectionViewDelegate.swift in Sources */, + AD6BA0F82BA5C18100755257 /* PasteboardImagesViewController+Delegate.swift in Sources */, AD07CABA26DBD82700BEAEFB /* EditImagePrivacyTableViewCell.swift in Sources */, AD9698242BE6548400520614 /* AlbumViewController+Discover.swift in Sources */, ADC592662C0333A2002B6F82 /* ImageHeaderReusableView.swift in Sources */, @@ -3373,7 +3380,7 @@ ADDFD45227EF4E7C00DB5081 /* UIView+AppTools.swift in Sources */, AD911272281060D9002FB78F /* UIWindow+AppTools.swift in Sources */, ADD77EF02A19339800F8C779 /* ExternalDisplaySceneDelegate.swift in Sources */, - AD6BA1002BA5D2FA00755257 /* PasteboardImagesViewController+HeaderReusableViewDelegate.swift in Sources */, + AD6BA1002BA5D2FA00755257 /* PasteboardImagesViewController+HeaderDelegate.swift in Sources */, ADBE0C232BE961E300F16A50 /* AlbumViewController+Edit.swift in Sources */, ADBDD9372441AB3800F19DFC /* LabelTableViewCell.swift in Sources */, ADEC6B032455A3520011527C /* LocalAlbumsProvider.swift in Sources */, @@ -3430,7 +3437,7 @@ AD07CAC426DD701600BEAEFB /* EditImageThumbTableViewCell.swift in Sources */, AD089D042BC2A5F800CE4A3E /* AlbumTableViewCell.swift in Sources */, AD0ED1002441C42200C69178 /* SliderTableViewCell.swift in Sources */, - AD6BA0FA2BA5C1D600755257 /* PasteboardImagesViewController+UICollectionViewDataSource.swift in Sources */, + AD6BA0FA2BA5C1D600755257 /* PasteboardImagesViewController+DataSource.swift in Sources */, ADACD29D2C34852800F8790B /* LogsViewController.swift in Sources */, ADBE0C272BE962D200F16A50 /* AlbumViewController+Favorite.swift in Sources */, AD43733F2B432862009BC454 /* SettingsViewController+UITableViewDelegate.swift in Sources */, @@ -3442,6 +3449,7 @@ AD9697D52BDE4B8900520614 /* PiwigoHUD.swift in Sources */, AD3369BF23F035F700F3FA80 /* TagSelectorViewController.swift in Sources */, ADEA26A8285FA2C300B6C9A0 /* ImageViewController+AlbumThumnail.swift in Sources */, + AD400B232C6137A200DC9A61 /* PasteboardImagesViewController+Select.swift in Sources */, ADD65C5B2BE777E8005AC3B8 /* AlbumViewController+Upload.swift in Sources */, ADF26FBF24C200040036E778 /* TagTableViewCell.swift in Sources */, ADF26FC024C200040036E778 /* TagsViewController.swift in Sources */, diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+DataSource.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+DataSource.swift index 60ecaadc4..1fcc95cd5 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+DataSource.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+DataSource.swift @@ -10,7 +10,7 @@ import Photos import UIKit import piwigoKit -//MARK: UICollectionViewDataSource Methods +// MARK: UICollectionViewDataSource Methods extension LocalImagesViewController: UICollectionViewDataSource { // MARK: - Headers & Footers diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift index fd0fbaacc..84e543ee1 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift @@ -72,7 +72,7 @@ extension LocalImagesViewController: UICollectionViewDelegate let canDelete = (imageAsset.sourceType != .typeCloudShared) && (upload.isEmpty || [.finished, .moderated].contains(upload.first?.state)) - // Return nil or a + // Return preview and appropriate menu return UIContextMenuConfiguration(identifier: identifier, previewProvider: { [self] in // Create preview view controller @@ -231,38 +231,47 @@ extension LocalImagesViewController: UICollectionViewDelegate @available(iOS 13.0, *) private func uploaAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath) -> UIAction { return UIAction(title: NSLocalizedString("tabBar_upload", comment: "Upload"), - image: UIImage(contentsOfFile: "piwigo")) { action in - // Check that an upload request does not exist for that image + image: UIImage(named: "imageUpload")) { action in + // Check that an upload request does not exist for that image (should never happen) if (self.uploads.fetchedObjects ?? []) .filter({$0.localIdentifier == cell.localIdentifier}).first != nil { return } - // Create an upload request for that image and update the corresponding cell + // Create an upload request for that image and add it to the upload queue let upload = UploadProperties(localIdentifier: cell.localIdentifier, category: self.categoryId) - cell.update(selected: true, state: .waiting) + self.uploadRequests.append(upload) + + // Disable buttons + self.cancelBarButton?.isEnabled = false + self.uploadBarButton?.isEnabled = false + self.actionBarButton?.isEnabled = false + self.trashBarButton?.isEnabled = false - // Append the upload to the queue - UploadManager.shared.backgroundQueue.async { - self.uploadProvider.importUploads(from: [upload]) { error in - guard let error = error else { - // Restart UploadManager activities - UploadManager.shared.backgroundQueue.async { - UploadManager.shared.isPaused = false - UploadManager.shared.findNextImageToUpload() - } - return - } - DispatchQueue.main.async { - self.dismissPiwigoError(withTitle: NSLocalizedString("CoreDataFetch_UploadCreateFailed", comment: "Failed to create a new Upload object."), message: error.localizedDescription) { - // Restart UploadManager activities - UploadManager.shared.backgroundQueue.async { - UploadManager.shared.isPaused = false - UploadManager.shared.findNextImageToUpload() - } - } + // Show upload parameter views + let uploadSwitchSB = UIStoryboard(name: "UploadSwitchViewController", bundle: nil) + if let uploadSwitchVC = uploadSwitchSB.instantiateViewController(withIdentifier: "UploadSwitchViewController") as? UploadSwitchViewController { + uploadSwitchVC.delegate = self + uploadSwitchVC.user = self.user + + // Will we propose to delete images after upload? + if let imageAsset = PHAsset.fetchAssets(withLocalIdentifiers: [cell.localIdentifier], + options: nil).firstObject { + // Only local images can be deleted + if imageAsset.sourceType != .typeCloudShared { + // Will allow user to delete images after upload + uploadSwitchVC.canDeleteImages = true } } + + // Push Edit view embedded in navigation controller + let navController = UINavigationController(rootViewController: uploadSwitchVC) + navController.modalPresentationStyle = .popover + navController.modalTransitionStyle = .coverVertical + navController.popoverPresentationController?.sourceView = self.localImagesCollection + navController.popoverPresentationController?.barButtonItem = self.uploadBarButton + navController.popoverPresentationController?.permittedArrowDirections = .up + self.navigationController?.present(navController, animated: true) } } } diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+HeaderDelegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+HeaderDelegate.swift index eb19a8ead..653c5fd32 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+HeaderDelegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+HeaderDelegate.swift @@ -9,9 +9,9 @@ import UIKit import piwigoKit +// MARK: - LocalImagesHeaderDelegate Methods extension LocalImagesViewController: LocalImagesHeaderDelegate { - // MARK: - LocalImagesHeaderReusableView Delegate Methods func didSelectImagesOfSection(_ section: Int) { let nberOfImagesInSection = localImagesCollection.numberOfItems(inSection: section) // let start = CFAbsoluteTimeGetCurrent() diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift index 1a1d61736..93c7c5772 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift @@ -11,13 +11,14 @@ import UIKit import piwigoKit import uploadKit +// MARK: - UploadSwitchDelegate Methods extension LocalImagesViewController: UploadSwitchDelegate { - // MARK: - UploadSwitchDelegate Methods @objc func didValidateUploadSettings(with imageParameters: [String : Any], _ uploadParameters: [String:Any]) { // Retrieve common image parameters and upload settings - for index in 0.. 0 { - UIApplication.shared.isIdleTimerDisabled = true - } + UIApplication.shared.isIdleTimerDisabled = (uploadRequests.isEmpty == false) // Add selected images to upload queue - let uploads = selectedImages.compactMap({$0}) UploadManager.shared.backgroundQueue.async { - self.uploadProvider.importUploads(from: uploads) { error in + self.uploadProvider.importUploads(from: self.uploadRequests) { error in + // Deselect cells and reset upload queue + self.cancelSelect() + self.uploadRequests = [] + + // Error encountered? guard let error = error else { // Restart UploadManager activities UploadManager.shared.backgroundQueue.async { @@ -107,6 +110,9 @@ extension LocalImagesViewController: UploadSwitchDelegate // Update the navigation bar updateNavBar() + // Display help views only when uploads are launched + if (self.uploads.fetchedObjects ?? []).isEmpty { return } + // Display help views less than once a day let dateOfLastHelpView = AppVars.shared.dateOfLastHelpView let diff = Date().timeIntervalSinceReferenceDate - dateOfLastHelpView diff --git a/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift b/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift index c55c806aa..ff111b73c 100644 --- a/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift +++ b/piwigo/Upload/Pick Local Images/LocalImageCollectionViewCell.swift @@ -74,7 +74,7 @@ class LocalImageCollectionViewCell: UICollectionViewCell { }) } - func configure(with image: UIImage, identifier: String, thumbnailSize: CGFloat) { + func configure(with image: UIImage, identifier: String) { // Configure icons configureIcons() diff --git a/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift b/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift index b9d6608a2..f9e8dbf13 100644 --- a/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift +++ b/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift @@ -36,6 +36,11 @@ class LocalImagePreviewViewController: UIViewController { }) } + init(image: UIImage) { + super.init(nibName: nil, bundle: nil) + self.imageView.image = image + } + required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } diff --git a/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift b/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift index 1403a9665..68ae2aad1 100644 --- a/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift +++ b/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift @@ -63,7 +63,7 @@ class LocalImagesViewController: UIViewController }() - // MARK: - Cached Values + // MARK: - Variables and Cached Values let queue = OperationQueue() // Queue used to sort and cache things var fetchedImages: PHFetchResult! // Collection of images in selected non-empty local album var sortType: SectionType = .none // Images grouped by Day, Week, Month or None @@ -72,10 +72,11 @@ class LocalImagesViewController: UIViewController var indexOfImageSortedByDay: [IndexSet] = [] // Indices of images sorted day var indexedUploadsInQueue = [(String,pwgUploadState,Bool)?]() // Arrays of uploads at indices of fetched image - var selectedImages = [UploadProperties?]() // Array of images to upload + var selectedImages = [UploadProperties?]() // Array of images selected for upload var selectedSections = [SelectButtonState]() // State of Select buttons var imagesBeingTouched = [IndexPath]() // Array of indexPaths of touched images - + var uploadRequests = [UploadProperties]() // Array of images to upload + private var uploadsToDelete = [Upload]() lazy var imageCellSize: CGSize = getImageCellSize() @@ -91,9 +92,9 @@ class LocalImagesViewController: UIViewController @IBOutlet weak var segmentedControl: UISegmentedControl! - private var cancelBarButton: UIBarButtonItem! // For cancelling the selection of images + var cancelBarButton: UIBarButtonItem! // For cancelling the selection of images var uploadBarButton: UIBarButtonItem! // for uploading selected images - private var trashBarButton: UIBarButtonItem! // For deleting uploaded images on iPhone until iOS 13 + var trashBarButton: UIBarButtonItem! // For deleting uploaded images on iPhone until iOS 13 // on iPad (all iOS) var actionBarButton: UIBarButtonItem! // iPhone until iOS 13: // - for reversing the sort order @@ -834,7 +835,8 @@ class LocalImagesViewController: UIViewController // MARK: - Show Upload Options @objc func didTapUploadButton() { // Avoid potential crash (should never happen, but…) - if selectedImages.compactMap({ $0 }).isEmpty { return } + uploadRequests = selectedImages.compactMap({ $0 }) + if uploadRequests.isEmpty { return } // Disable buttons cancelBarButton?.isEnabled = false @@ -849,8 +851,8 @@ class LocalImagesViewController: UIViewController uploadSwitchVC.user = user // Will we propose to delete images after upload? - if let firstLocalIdentifer = selectedImages.compactMap({ $0 }).first?.localIdentifier { - if let imageAsset = PHAsset.fetchAssets(withLocalIdentifiers: [firstLocalIdentifer], options: nil).firstObject { + if let firstLocalID = uploadRequests.first?.localIdentifier { + if let imageAsset = PHAsset.fetchAssets(withLocalIdentifiers: [firstLocalID], options: nil).firstObject { // Only local images can be deleted if imageAsset.sourceType != .typeCloudShared { // Will allow user to delete images after upload diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift index b8c6d20ff..36b0d13e2 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift @@ -75,7 +75,7 @@ extension PasteboardImagesViewController { } // Create an instance of the preparation method - let preparer = ObjectPreparation(pbObject, at: indexPath.row) + let preparer = ObjectPreparation(pbObject, at: indexPath.item) // Refresh the thumbnail of the cell and update upload cache preparer.completionBlock = { @@ -85,14 +85,12 @@ extension PasteboardImagesViewController { // Operation completed self.pendingOperations.preparationsInProgress.removeValue(forKey: indexPath) - // Update upload cache - if let upload = (self.uploads.fetchedObjects ?? []).first(where: {$0.md5Sum == pbObject.md5Sum}) { - self.indexedUploadsInQueue[indexPath.row] = (upload.localIdentifier, upload.md5Sum, upload.state) - } - // Update cell image if operation was successful - switch (pbObject.state) { - case .stored: + if pbObject.state == .stored { + // Set upload cache + if let upload = (self.uploads.fetchedObjects ?? []).first(where: {$0.md5Sum == pbObject.md5Sum}) { + self.indexedUploadsInQueue[indexPath.item] = (upload.localIdentifier, upload.md5Sum, upload.state) + } // Refresh the thumbnail of the cell DispatchQueue.main.async { if let cell = self.localImagesCollection.cellForItem(at: indexPath) as? LocalImageCollectionViewCell { @@ -100,35 +98,34 @@ extension PasteboardImagesViewController { self.reloadInputViews() } } - case .failed: - if self.pendingOperations.preparationsInProgress.isEmpty { - var newSetOfObjects = [PasteboardObject]() - for index in 0.., didChange anObject: Any, at indexPath: IndexPath?, for type: NSFetchedResultsChangeType, newIndexPath: IndexPath?) { @@ -192,6 +191,8 @@ extension PasteboardImagesViewController: NSFetchedResultsControllerDelegate // Deselect image selectedImages[index] = nil } + // Remove image from upload requests if needed + uploadRequests.removeAll(where: {$0.localIdentifier == upload.localIdentifier}) // Update corresponding cell updateCellAndSectionHeader(for: upload) case .move: diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UICollectionViewDataSource.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift similarity index 88% rename from piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UICollectionViewDataSource.swift rename to piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift index 0bd52b46d..6d02b8bfe 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UICollectionViewDataSource.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift @@ -1,5 +1,5 @@ // -// PasteboardImagesViewController+UICollectionViewDataSource.swift +// PasteboardImagesViewController+DataSource.swift // piwigo // // Created by Eddy Lelièvre-Berna on 16/03/2024. @@ -13,6 +13,7 @@ import UIKit import UniformTypeIdentifiers // Requires iOS 14 #endif +// MARK: UICollectionViewDataSource Methods extension PasteboardImagesViewController: UICollectionViewDataSource { // MARK: - Headers & Footers @@ -69,30 +70,10 @@ extension PasteboardImagesViewController: UICollectionViewDataSource // (the content of the pasteboard may not last forever) let identifier = pbObjects[indexPath.item].identifier - // Get thumbnail of image if available - var image: UIImage! = imagePlaceholder - if [.stored, .ready].contains(pbObjects[indexPath.row].state) { - image = pbObjects[indexPath.row].image - cell.md5sum = pbObjects[indexPath.row].md5Sum - } - else { - var imageType = "" - if #available(iOS 14.0, *) { - imageType = UTType.image.identifier - } else { - // Fallback on earlier version - imageType = kUTTypeImage as String - } - if let data = UIPasteboard.general.data(forPasteboardType: imageType, - inItemSet: IndexSet(integer: indexPath.row))?.first { - image = UIImage(data: data) ?? imagePlaceholder - cell.md5sum = "" - } - } - // Configure cell - let thumbnailSize = AlbumUtilities.imageSize(forView: self.localImagesCollection, imagesPerRowInPortrait: AlbumVars.shared.thumbnailsPerRowInPortrait, collectionType: .popup) - cell.configure(with: image, identifier: identifier, thumbnailSize: CGFloat(thumbnailSize)) + let (image, md5sum) = getImageAndMd5sumOfPbObject(atIndex: indexPath.item) + cell.configure(with: image, identifier: identifier) + cell.md5sum = md5sum // Add pan gesture recognition let imageSeriesRocognizer = UIPanGestureRecognizer(target: self, action: #selector(touchedImages(_:))) @@ -110,6 +91,29 @@ extension PasteboardImagesViewController: UICollectionViewDataSource return cell } + func getImageAndMd5sumOfPbObject(atIndex index: Int) -> (UIImage, String) { + var image: UIImage! = imagePlaceholder + var md5sum = "" + if [.stored, .ready].contains(pbObjects[index].state) { + image = pbObjects[index].image + md5sum = pbObjects[index].md5Sum + } + else { + var imageType = "" + if #available(iOS 14.0, *) { + imageType = UTType.image.identifier + } else { + // Fallback on earlier version + imageType = kUTTypeImage as String + } + if let data = UIPasteboard.general.data(forPasteboardType: imageType, + inItemSet: IndexSet(integer: index))?.first { + image = UIImage(data: data) ?? imagePlaceholder + } + } + return (image, md5sum) + } + @objc func applyUploadProgress(_ notification: Notification) { if let visibleCells = localImagesCollection.visibleCells as? [LocalImageCollectionViewCell], let localIdentifier = notification.userInfo?["localIdentifier"] as? String, !localIdentifier.isEmpty, diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift new file mode 100644 index 000000000..adf009e26 --- /dev/null +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift @@ -0,0 +1,246 @@ +// +// PasteboardImagesViewController+Delegate.swift +// piwigo +// +// Created by Eddy Lelièvre-Berna on 16/03/2024. +// Copyright © 2024 Piwigo.org. All rights reserved. +// + +import UIKit +import piwigoKit + +// MARK: UICollectionViewDelegate Methods +extension PasteboardImagesViewController: UICollectionViewDelegate +{ + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { + guard let cell = collectionView.cellForItem(at: indexPath) as? LocalImageCollectionViewCell else { + return + } + + // Get upload state of image + let uploadState = getUploadStateOfImage(at: indexPath.item, for: cell) + + // Update cell and selection + if let _ = selectedImages[indexPath.item] { + // Deselect the cell + selectedImages[indexPath.item] = nil + cell.update(selected: false, state: uploadState) + } else { + // Can we upload or re-upload this image? + if (uploadState == nil) || reUploadAllowed { + // Select the image + selectedImages[indexPath.item] = UploadProperties(localIdentifier: cell.localIdentifier, + category: categoryId) + cell.update(selected: true, state: uploadState) + } + } + + // Update navigation bar + updateNavBar() + + // Refresh cell + cell.reloadInputViews() + + // Update state of Select button if needed + updateSelectButton() + if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: IndexPath(item: 0, section: 0)) as? PasteboardImagesHeaderReusableView { + header.setButtonTitle(forState: sectionState) + } + } + + + // MARK: - Context Menus + @available(iOS, introduced: 13.0, deprecated: 16.0, message: "") + func collectionView(_ collectionView: UICollectionView, + contextMenuConfigurationForItemAt indexPath: IndexPath, + point: CGPoint) -> UIContextMenuConfiguration? { + if let cell = collectionView.cellForItem(at: indexPath) as? LocalImageCollectionViewCell { + // Get image identifier and corresponding upload request if it exists + let identifier = NSString(string: "\(cell.localIdentifier)") + let upload = (self.uploads.fetchedObjects ?? []).filter({$0.localIdentifier == cell.localIdentifier}) + + // Get upload state + let uploadState = self.getUploadStateOfImage(at: indexPath.item, for: cell) + + // Return preview and appropriate menu + return UIContextMenuConfiguration(identifier: identifier, + previewProvider: { [self] in + // Create preview view controller + let (image, _) = self.getImageAndMd5sumOfPbObject(atIndex: indexPath.item) + return LocalImagePreviewViewController(image: image) + }, actionProvider: { suggestedActions in + var children = [UIMenuElement]() + if upload.isEmpty { + if self.selectedImages[indexPath.item] != nil { + // Image selected ► Propose to deselect it + children.append(self.deselectAction(forCell: cell, at: indexPath, + inUploadSate: uploadState)) + } else if (uploadState == nil) || self.reUploadAllowed { + // Image deselected ► Propose to select it + children.append(self.selectAction(forCell: cell, at: indexPath, + inUploadSate: uploadState)) + } + children.append(self.uploaAction(forCell: cell, at: indexPath)) + } else { + children.append(self.statusAction(upload.first)) + } + return UIMenu(title: "", children: children) + }) + } + return nil + } + + @available(iOS 16.0, *) + func collectionView(_ collectionView: UICollectionView, + contextMenuConfigurationForItemsAt indexPaths: [IndexPath], + point: CGPoint) -> UIContextMenuConfiguration? { + if indexPaths.count == 1, let indexPath = indexPaths.first, + let cell = collectionView.cellForItem(at: indexPath) as? LocalImageCollectionViewCell { + // Get image identifier and corresponding upload request if it exists + let identifier = NSString(string: "\(cell.localIdentifier)") + let upload = (self.uploads.fetchedObjects ?? []).filter({$0.localIdentifier == cell.localIdentifier}) + + // Get upload state + let uploadState = self.getUploadStateOfImage(at: indexPath.item, for: cell) + + // Return preview and appropriate menu + return UIContextMenuConfiguration(identifier: identifier, + previewProvider: { [self] in + // Create preview view controller + let (image, _) = self.getImageAndMd5sumOfPbObject(atIndex: indexPath.item) + return LocalImagePreviewViewController(image: image) + }, actionProvider: { suggestedActions in + var children = [UIMenuElement]() + if upload.isEmpty { + if self.selectedImages[indexPath.item] != nil { + // Image selected ► Propose to deselect it + children.append(self.deselectAction(forCell: cell, at: indexPath, + inUploadSate: uploadState)) + } else if (uploadState == nil) || self.reUploadAllowed { + // Image deselected ► Propose to select it + children.append(self.selectAction(forCell: cell, at: indexPath, + inUploadSate: uploadState)) + } + children.append(self.uploaAction(forCell: cell, at: indexPath)) + } else { + children.append(self.statusAction(upload.first)) + } + return UIMenu(title: "", children: children) + }) + } + return nil + } + + @available(iOS 13.0, *) + private func statusAction(_ upload: Upload?) -> UIAction { + // Check if an upload request exists (should never happen) + guard let upload = upload else { + return UIAction(title: NSLocalizedString("errorHUD_label", comment: "Error"), + image: UIImage(systemName: "exclamationmark.triangle"), handler: { _ in }) + } + + // Show upload status + switch upload.state { + case .waiting, .preparing, .prepared, .uploading, .uploaded, .finishing: + return UIAction(title: upload.stateLabel, + image: UIImage(systemName: "timer"), handler: { _ in }) + case .preparingError, .preparingFail, .formatError, + .uploadingError, .uploadingFail, .finishingError, .finishingFail: + return UIAction(title: upload.stateLabel, + image: UIImage(systemName: "exclamationmark.triangle"), handler: { _ in }) + case .finished, .moderated: + return UIAction(title: NSLocalizedString("imageUploadCompleted_title", comment: "Upload Completed"), + image: UIImage(systemName: "checkmark"), handler: { _ in }) + } + } + + @available(iOS 13.0, *) + private func selectAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath, + inUploadSate uploadState: pwgUploadState?) -> UIAction + { + // Image not selected and selectable ► Propose to select it + return UIAction(title: NSLocalizedString("categoryImageList_selectButton", comment: "Select"), + image: UIImage(systemName: "checkmark.circle")) { _ in + // Select the cell + self.selectedImages[indexPath.item] = UploadProperties(localIdentifier: cell.localIdentifier, + category: self.categoryId) + cell.update(selected: true, state: uploadState) + + // Update number of selected cells + self.updateNavBar() + + // Update state of Select button if needed + self.updateSelectButton() + let indexPath = IndexPath(item: 0, section: indexPath.section) + if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? PasteboardImagesHeaderReusableView { + header.configure(with: self.sectionState) + } + } + } + + @available(iOS 13.0, *) + private func deselectAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath, + inUploadSate uploadState: pwgUploadState?) -> UIAction + { + var image: UIImage? + if #available(iOS 16, *) { + image = UIImage(systemName: "checkmark.circle.badge.xmark") + } else { + image = UIImage(systemName: "checkmark.circle") + } + return UIAction(title: NSLocalizedString("categoryImageList_deselectButton", comment: "Deselect"), + image: image) { _ in + // Deselect the cell + self.selectedImages[indexPath.item] = nil + cell.update(selected: false, state: uploadState) + + // Update number of selected cells + self.updateNavBar() + + // Update state of Select button if needed + self.updateSelectButton() + let indexPath = IndexPath(item: 0, section: indexPath.section) + if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? PasteboardImagesHeaderReusableView { + header.configure(with: self.sectionState) + } + } + } + + @available(iOS 13.0, *) + private func uploaAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath) -> UIAction { + return UIAction(title: NSLocalizedString("tabBar_upload", comment: "Upload"), + image: UIImage(named: "imageUpload")) { action in + // Check that an upload request does not exist for that image (should never happen) + if (self.uploads.fetchedObjects ?? []) + .filter({$0.localIdentifier == cell.localIdentifier}).first != nil { + return + } + + // Create an upload request for that image and add it to the upload queue + let upload = UploadProperties(localIdentifier: cell.localIdentifier, category: self.categoryId) + self.uploadRequests.append(upload) + + // Disable buttons + self.cancelBarButton?.isEnabled = false + self.uploadBarButton?.isEnabled = false + self.actionBarButton?.isEnabled = false + + // Show upload parameter views + let uploadSwitchSB = UIStoryboard(name: "UploadSwitchViewController", bundle: nil) + if let uploadSwitchVC = uploadSwitchSB.instantiateViewController(withIdentifier: "UploadSwitchViewController") as? UploadSwitchViewController { + uploadSwitchVC.delegate = self + uploadSwitchVC.user = self.user + uploadSwitchVC.canDeleteImages = false + + // Push Edit view embedded in navigation controller + let navController = UINavigationController(rootViewController: uploadSwitchVC) + navController.modalPresentationStyle = .popover + navController.modalTransitionStyle = .coverVertical + navController.popoverPresentationController?.sourceView = self.localImagesCollection + navController.popoverPresentationController?.barButtonItem = self.uploadBarButton + navController.popoverPresentationController?.permittedArrowDirections = .up + self.navigationController?.present(navController, animated: true) + } + } + } +} diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+FlowLayout.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+FlowLayout.swift new file mode 100644 index 000000000..d36b6bf9f --- /dev/null +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+FlowLayout.swift @@ -0,0 +1,43 @@ +// +// PasteboardImagesViewController+FlowLayout.swift +// piwigo +// +// Created by Eddy Lelièvre-Berna on 05/08/2024. +// Copyright © 2024 Piwigo.org. All rights reserved. +// + +import Foundation +import UIKit + +// MARK: UICollectionViewDelegateFlowLayout Methods +extension PasteboardImagesViewController: UICollectionViewDelegateFlowLayout +{ + func getImageCellSize() -> CGSize { + let nbImages = AlbumVars.shared.thumbnailsPerRowInPortrait // from Settings + let size = AlbumUtilities.imageSize(forView: localImagesCollection, imagesPerRowInPortrait: nbImages, collectionType: .popup) +// debugPrint("••> getImageCellSize: \(size) x \(size) points") + return CGSize(width: size, height: size) + } + + func collectionView(_ collectionView: UICollectionView, willDisplaySupplementaryView view: UICollectionReusableView, forElementKind elementKind: String, at indexPath: IndexPath) { + if (elementKind == UICollectionView.elementKindSectionHeader) || (elementKind == UICollectionView.elementKindSectionFooter) { + view.layer.zPosition = 0 // Below scroll indicator + } + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + return imageCellSize + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { + return UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0) + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { + return CGFloat(AlbumUtilities.imageCellVerticalSpacing(forCollectionType: .popup)) + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { + return CGFloat(AlbumUtilities.imageCellHorizontalSpacing(forCollectionType: .popup)) + } +} diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderReusableViewDelegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift similarity index 94% rename from piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderReusableViewDelegate.swift rename to piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift index cd3f2c514..336d47b64 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderReusableViewDelegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift @@ -1,5 +1,5 @@ // -// PasteboardImagesViewController+HeaderReusableViewDelegate.swift +// PasteboardImagesViewController+HeaderDelegate.swift // piwigo // // Created by Eddy Lelièvre-Berna on 16/03/2024. @@ -9,9 +9,9 @@ import UIKit import piwigoKit +// MARK: - PasteboardImagesHeaderDelegate Methods extension PasteboardImagesViewController: PasteboardImagesHeaderDelegate { - // MARK: - PasteboardImagesHeaderReusableView Delegate Methods func didSelectImagesOfSection() { let nberOfImagesInSection = localImagesCollection.numberOfItems(inSection: 0) if sectionState == .select { diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift new file mode 100644 index 000000000..30086c1c3 --- /dev/null +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift @@ -0,0 +1,161 @@ +// +// PasteboardImagesViewController+Select.swift +// piwigo +// +// Created by Eddy Lelièvre-Berna on 05/08/2024. +// Copyright © 2024 Piwigo.org. All rights reserved. +// + +import Foundation +import UIKit +import piwigoKit + +// MARK: - Select Images +extension PasteboardImagesViewController +{ + @objc func cancelSelect() { + // Clear list of selected images + selectedImages = .init(repeating: nil, count: pbObjects.count) + + // Update navigation bar + updateNavBar() + + // Deselect visible cells + localImagesCollection.visibleCells.forEach { cell in + if let cell = cell as? LocalImageCollectionViewCell { + cell.update(selected: false) + } + } + + // Update button + let headers = localImagesCollection.visibleSupplementaryViews(ofKind: UICollectionView.elementKindSectionHeader) + headers.forEach { header in + if let header = header as? PasteboardImagesHeaderReusableView { + header.setButtonTitle(forState: .select) + } + } + } +} + + +// MARK: - UIGestureRecognizerDelegate Methods +extension PasteboardImagesViewController: UIGestureRecognizerDelegate +{ + func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { + // Will interpret touches only in horizontal direction + if (gestureRecognizer is UIPanGestureRecognizer) { + let gPR = gestureRecognizer as? UIPanGestureRecognizer + let translation = gPR?.translation(in: localImagesCollection) + if abs(translation?.x ?? 0.0) > abs(translation?.y ?? 0.0) { + return true + } + } + return false + } + + @objc func touchedImages(_ gestureRecognizer: UIPanGestureRecognizer?) { + // To prevent a crash + if gestureRecognizer?.view == nil { + return + } + + // Point and direction + let point = gestureRecognizer?.location(in: localImagesCollection) + + // Get index path at touch position + guard let indexPath = localImagesCollection.indexPathForItem(at: point ?? CGPoint.zero) else { + return + } + + // Select/deselect the cell or scroll the view + if (gestureRecognizer?.state == .began) || (gestureRecognizer?.state == .changed) { + + // Get cell at touch position + guard let cell = localImagesCollection.cellForItem(at: indexPath) as? LocalImageCollectionViewCell else { + return + } + + // Update the selection if not already done + if !imagesBeingTouched.contains(indexPath) { + + // Store that the user touched this cell during this gesture + imagesBeingTouched.append(indexPath) + + // Get upload state of image + let uploadState = getUploadStateOfImage(at: indexPath.item, for: cell) + + // Update the selection state + if let _ = selectedImages[indexPath.item] { + selectedImages[indexPath.item] = nil + cell.update(selected: false, state: uploadState) + } else { + // Can we upload or re-upload this image? + if (uploadState == nil) || reUploadAllowed { + // Select the cell + selectedImages[indexPath.item] = UploadProperties(localIdentifier: cell.localIdentifier, + category: categoryId) + cell.update(selected: true, state: uploadState) + } + } + + // Update navigation bar + updateNavBar() + + // Refresh cell + cell.reloadInputViews() + } + } + + // Is this the end of the gesture? + if gestureRecognizer?.state == .ended { + // Clear list of touched images + imagesBeingTouched = [] + } + } + + func updateSelectButton() + { + // Number of images in section + let nberOfImagesInSection = localImagesCollection.numberOfItems(inSection: 0) + + // Job done if there is no image presented + if nberOfImagesInSection == 0 { + sectionState = .none + return + } + + // Number of selected images + let nberOfSelectedImagesInSection = selectedImages[0.. UIEdgeInsets { - return UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0) - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { - return CGFloat(AlbumUtilities.imageCellVerticalSpacing(forCollectionType: .popup)) - } - - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { - return CGFloat(AlbumUtilities.imageCellHorizontalSpacing(forCollectionType: .popup)) - } - - - // MARK: - Items i.e. Images - func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { - // Calculate the optimum image size - let size = CGFloat(AlbumUtilities.imageSize(forView: collectionView, imagesPerRowInPortrait: AlbumVars.shared.thumbnailsPerRowInPortrait, collectionType: .popup)) - - return CGSize(width: size, height: size) - } - - func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { - guard let cell = collectionView.cellForItem(at: indexPath) as? LocalImageCollectionViewCell else { - return - } - - // Get upload state of image - let uploadState = getUploadStateOfImage(at: indexPath.item, for: cell) - - // Update cell and selection - if let _ = selectedImages[indexPath.item] { - // Deselect the cell - selectedImages[indexPath.item] = nil - cell.update(selected: false, state: uploadState) - } else { - // Can we upload or re-upload this image? - if (uploadState == nil) || reUploadAllowed { - // Select the image - selectedImages[indexPath.item] = UploadProperties(localIdentifier: cell.localIdentifier, - category: categoryId) - cell.update(selected: true, state: uploadState) - } - } - - // Update navigation bar - updateNavBar() - - // Refresh cell - cell.reloadInputViews() - - // Update state of Select button if needed - updateSelectButton() - if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: IndexPath(item: 0, section: 0)) as? PasteboardImagesHeaderReusableView { - header.setButtonTitle(forState: sectionState) - } - } -} diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UploadSwitchDelegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UploadSwitchDelegate.swift index 6af9844a5..f84a6e103 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UploadSwitchDelegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+UploadSwitchDelegate.swift @@ -10,14 +10,15 @@ import Foundation import piwigoKit import uploadKit +// MARK: - UploadSwitchDelegate Methods extension PasteboardImagesViewController: UploadSwitchDelegate { - // MARK: - UploadSwitchDelegate Methods @objc func didValidateUploadSettings(with imageParameters: [String : Any], _ uploadParameters: [String:Any]) { // Retrieve common image parameters and upload settings - for index in 0.. Bool { - // Will interpret touches only in horizontal direction - if (gestureRecognizer is UIPanGestureRecognizer) { - let gPR = gestureRecognizer as? UIPanGestureRecognizer - let translation = gPR?.translation(in: localImagesCollection) - if abs(translation?.x ?? 0.0) > abs(translation?.y ?? 0.0) { - return true - } - } - return false - } - - @objc func touchedImages(_ gestureRecognizer: UIPanGestureRecognizer?) { - // To prevent a crash - if gestureRecognizer?.view == nil { - return - } - - // Point and direction - let point = gestureRecognizer?.location(in: localImagesCollection) - - // Get index path at touch position - guard let indexPath = localImagesCollection.indexPathForItem(at: point ?? CGPoint.zero) else { - return - } - - // Select/deselect the cell or scroll the view - if (gestureRecognizer?.state == .began) || (gestureRecognizer?.state == .changed) { - - // Get cell at touch position - guard let cell = localImagesCollection.cellForItem(at: indexPath) as? LocalImageCollectionViewCell else { - return - } - - // Update the selection if not already done - if !imagesBeingTouched.contains(indexPath) { - - // Store that the user touched this cell during this gesture - imagesBeingTouched.append(indexPath) - - // Get upload state of image - let uploadState = getUploadStateOfImage(at: indexPath.item, for: cell) - - // Update the selection state - if let _ = selectedImages[indexPath.item] { - selectedImages[indexPath.item] = nil - cell.update(selected: false, state: uploadState) - } else { - // Can we upload or re-upload this image? - if (uploadState == nil) || reUploadAllowed { - // Select the cell - selectedImages[indexPath.item] = UploadProperties(localIdentifier: cell.localIdentifier, - category: categoryId) - cell.update(selected: true, state: uploadState) - } - } - - // Update navigation bar - updateNavBar() - - // Refresh cell - cell.reloadInputViews() - } - } - - // Is this the end of the gesture? - if gestureRecognizer?.state == .ended { - // Clear list of touched images - imagesBeingTouched = [] - } - } - - func updateSelectButton() { - - // Number of images in section - let nberOfImagesInSection = localImagesCollection.numberOfItems(inSection: 0) - - // Job done if there is no image presented - if nberOfImagesInSection == 0 { - sectionState = .none - return - } - - // Number of selected images - let nberOfSelectedImagesInSection = selectedImages[0.. UIImage! { var image: UIImage! = UIImage(named: "placeholder")! diff --git a/piwigo/Upload/Pick Photos Album/LocalAlbumsViewController.swift b/piwigo/Upload/Pick Photos Album/LocalAlbumsViewController.swift index 576bf8715..681b0a08b 100644 --- a/piwigo/Upload/Pick Photos Album/LocalAlbumsViewController.swift +++ b/piwigo/Upload/Pick Photos Album/LocalAlbumsViewController.swift @@ -569,10 +569,10 @@ class LocalAlbumsViewController: UIViewController, UITableViewDelegate, UITableV switch albumType { case .pasteboard: let pasteboardImagesSB = UIStoryboard(name: "PasteboardImagesViewController", bundle: nil) - guard let localImagesVC = pasteboardImagesSB.instantiateViewController(withIdentifier: "PasteboardImagesViewController") as? PasteboardImagesViewController else { return } - localImagesVC.categoryId = categoryId - localImagesVC.user = user - navigationController?.pushViewController(localImagesVC, animated: true) + guard let pasteboardImagesVC = pasteboardImagesSB.instantiateViewController(withIdentifier: "PasteboardImagesViewController") as? PasteboardImagesViewController else { return } + pasteboardImagesVC.categoryId = categoryId + pasteboardImagesVC.user = user + navigationController?.pushViewController(pasteboardImagesVC, animated: true) return case .localAlbums: assetCollections = LocalAlbumsProvider.shared.localAlbums diff --git a/piwigo/Upload/Upload Options/UploadSwitchViewController.swift b/piwigo/Upload/Upload Options/UploadSwitchViewController.swift index 018ac70b4..36bf87541 100644 --- a/piwigo/Upload/Upload Options/UploadSwitchViewController.swift +++ b/piwigo/Upload/Upload Options/UploadSwitchViewController.swift @@ -171,7 +171,6 @@ class UploadSwitchViewController: UIViewController { @objc func cancelUpload() { // Return to local images view - delegate?.uploadSettingsDidDisappear() dismiss(animated: true) } From 6e754c6e6f5e69bc88dd0e6b791e3aa811933fc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 11:37:01 +0200 Subject: [PATCH 06/55] Corrects indexPath item --- .../LocalImagesViewController+Data.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Data.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Data.swift index 1534b9253..cc251b63c 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Data.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Data.swift @@ -341,14 +341,14 @@ extension LocalImagesViewController switch UploadVars.localImagesSort { case .dateCreatedDescending: if let index = indexOfImageSortedByMonth[indexPath.section].first { - return index + indexPath.row + return index + indexPath.item } else { return 0 } case .dateCreatedAscending: let lastSection = indexOfImageSortedByMonth.endIndex - 1 if let index = indexOfImageSortedByMonth[lastSection - indexPath.section].last { - return index - indexPath.row + return index - indexPath.item } else { return 0 } @@ -359,14 +359,14 @@ extension LocalImagesViewController switch UploadVars.localImagesSort { case .dateCreatedDescending: if let index = indexOfImageSortedByWeek[indexPath.section].first { - return index + indexPath.row + return index + indexPath.item } else { return 0 } case .dateCreatedAscending: let lastSection = indexOfImageSortedByWeek.endIndex - 1 if let index = indexOfImageSortedByWeek[lastSection - indexPath.section].last { - return index - indexPath.row + return index - indexPath.item } else { return 0 } @@ -377,14 +377,14 @@ extension LocalImagesViewController switch UploadVars.localImagesSort { case .dateCreatedDescending: if let index = indexOfImageSortedByDay[indexPath.section].first { - return index + indexPath.row + return index + indexPath.item } else { return 0 } case .dateCreatedAscending: let lastSection = indexOfImageSortedByDay.endIndex - 1 if let index = indexOfImageSortedByDay[lastSection - indexPath.section].last { - return index - indexPath.row + return index - indexPath.item } else { return 0 } @@ -394,9 +394,9 @@ extension LocalImagesViewController case .none: switch UploadVars.localImagesSort { case .dateCreatedDescending: - return indexPath.row + return indexPath.item case .dateCreatedAscending: - return max(0, fetchedImages.count - 1 - indexPath.row) + return max(0, fetchedImages.count - 1 - indexPath.item) default: return 0 } From 2fa5761767bee29c715b70e429883d04147b1e52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 11:40:42 +0200 Subject: [PATCH 07/55] Fixes header button not hidden when there is no image to select, adopts generic Select button --- .../xcshareddata/xcschemes/piwigo.xcscheme | 1 - ...sViewController+UploadSwitchDelegate.swift | 4 +++- .../PasteboardImagesViewController+Data.swift | 13 +++++++---- ...teboardImagesViewController+Delegate.swift | 2 +- ...dImagesViewController+HeaderDelegate.swift | 2 +- ...asteboardImagesViewController+Select.swift | 11 ++-------- ...sViewController+UploadSwitchDelegate.swift | 4 +++- .../PasteboardImagesHeaderReusableView.swift | 22 +------------------ 8 files changed, 20 insertions(+), 39 deletions(-) diff --git a/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme b/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme index cc5a47a9b..292591fa9 100644 --- a/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme +++ b/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme @@ -48,7 +48,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" enableASanStackUseAfterReturn = "YES" enableUBSanitizer = "YES" - disableMainThreadChecker = "YES" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift index 93c7c5772..c10723466 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+UploadSwitchDelegate.swift @@ -81,7 +81,9 @@ extension LocalImagesViewController: UploadSwitchDelegate UploadManager.shared.backgroundQueue.async { self.uploadProvider.importUploads(from: self.uploadRequests) { error in // Deselect cells and reset upload queue - self.cancelSelect() + DispatchQueue.main.async { + self.cancelSelect() + } self.uploadRequests = [] // Error encountered? diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift index 36b0d13e2..a2e9fa6a5 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Data.swift @@ -94,6 +94,8 @@ extension PasteboardImagesViewController { // Refresh the thumbnail of the cell DispatchQueue.main.async { if let cell = self.localImagesCollection.cellForItem(at: indexPath) as? LocalImageCollectionViewCell { + let uploadState = self.getUploadStateOfImage(at: indexPath.item, for: cell) + cell.update(selected: self.selectedImages[indexPath.item] != nil, state: uploadState) cell.cellImage.image = pbObject.image self.reloadInputViews() } @@ -117,11 +119,12 @@ extension PasteboardImagesViewController { self.pbObjects = newSetOfObjects self.indexedUploadsInQueue = newSetOfUploads - // Update section header + // Update section header and action buttonn DispatchQueue.main.async { + self.updateNavBar() self.updateSelectButton() if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: IndexPath(item: 0, section: 0)) as? PasteboardImagesHeaderReusableView { - header.setButtonTitle(forState: .select) + header.selectButton.setTitle(forState: self.sectionState) } } @@ -217,7 +220,9 @@ extension PasteboardImagesViewController: NSFetchedResultsControllerDelegate func controllerDidChangeContent(_ controller: NSFetchedResultsController) { // print("••• PasteboardImagesViewController controller:didChangeContent...") // Update navigation bar - updateNavBar() + DispatchQueue.main.async { + self.updateNavBar() + } } func updateCellAndSectionHeader(for upload: Upload) { @@ -231,7 +236,7 @@ extension PasteboardImagesViewController: NSFetchedResultsControllerDelegate // The section will be refreshed only if the button content needs to be changed self.updateSelectButton() if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: IndexPath(item: 0, section: 0)) as? PasteboardImagesHeaderReusableView { - header.setButtonTitle(forState: self.sectionState) + header.selectButton.setTitle(forState: self.sectionState) } } } diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift index adf009e26..2a568dda1 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift @@ -44,7 +44,7 @@ extension PasteboardImagesViewController: UICollectionViewDelegate // Update state of Select button if needed updateSelectButton() if let header = self.localImagesCollection.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: IndexPath(item: 0, section: 0)) as? PasteboardImagesHeaderReusableView { - header.setButtonTitle(forState: sectionState) + header.selectButton.setTitle(forState: sectionState) } } diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift index 336d47b64..096409d60 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+HeaderDelegate.swift @@ -50,7 +50,7 @@ extension PasteboardImagesViewController: PasteboardImagesHeaderDelegate let headers = localImagesCollection.visibleSupplementaryViews(ofKind: UICollectionView.elementKindSectionHeader) headers.forEach { header in if let header = header as? PasteboardImagesHeaderReusableView { - header.setButtonTitle(forState: sectionState) + header.selectButton.setTitle(forState: sectionState) } } } diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift index 30086c1c3..0ed817d20 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift @@ -31,7 +31,7 @@ extension PasteboardImagesViewController let headers = localImagesCollection.visibleSupplementaryViews(ofKind: UICollectionView.elementKindSectionHeader) headers.forEach { header in if let header = header as? PasteboardImagesHeaderReusableView { - header.setButtonTitle(forState: .select) + header.selectButton.setTitle(forState: .select) } } } @@ -124,14 +124,6 @@ extension PasteboardImagesViewController: UIGestureRecognizerDelegate return } - // Number of selected images - let nberOfSelectedImagesInSection = selectedImages[0.. Date: Fri, 9 Aug 2024 22:40:58 +0200 Subject: [PATCH 08/55] Fixes upload icon not white in dark mode in context menus --- .../images/imageUpload.imageset/Contents.json | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/piwigo/Resources/Images.xcassets/images/imageUpload.imageset/Contents.json b/piwigo/Resources/Images.xcassets/images/imageUpload.imageset/Contents.json index 358388c59..2d7f8d0c5 100644 --- a/piwigo/Resources/Images.xcassets/images/imageUpload.imageset/Contents.json +++ b/piwigo/Resources/Images.xcassets/images/imageUpload.imageset/Contents.json @@ -1,23 +1,26 @@ { "images" : [ { - "idiom" : "universal", "filename" : "upload@1x.png", + "idiom" : "universal", "scale" : "1x" }, { - "idiom" : "universal", "filename" : "upload@2x.png", + "idiom" : "universal", "scale" : "2x" }, { - "idiom" : "universal", "filename" : "upload@3x.png", + "idiom" : "universal", "scale" : "3x" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" } -} \ No newline at end of file +} From 8dd8b364ae00efc7d038db7d2be2db5e5761f939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 22:43:32 +0200 Subject: [PATCH 09/55] Fixes uploaded pasteboard image not detected --- .../PasteboardImagesViewController+DataSource.swift | 1 + .../Extensions/PasteboardImagesViewController+Delegate.swift | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift index 6d02b8bfe..ecb81b213 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+DataSource.swift @@ -109,6 +109,7 @@ extension PasteboardImagesViewController: UICollectionViewDataSource if let data = UIPasteboard.general.data(forPasteboardType: imageType, inItemSet: IndexSet(integer: index))?.first { image = UIImage(data: data) ?? imagePlaceholder + md5sum = data.MD5checksum() } } return (image, md5sum) diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift index 2a568dda1..f8204f6ff 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift @@ -57,7 +57,7 @@ extension PasteboardImagesViewController: UICollectionViewDelegate if let cell = collectionView.cellForItem(at: indexPath) as? LocalImageCollectionViewCell { // Get image identifier and corresponding upload request if it exists let identifier = NSString(string: "\(cell.localIdentifier)") - let upload = (self.uploads.fetchedObjects ?? []).filter({$0.localIdentifier == cell.localIdentifier}) + let upload = (self.uploads.fetchedObjects ?? []).filter({$0.md5Sum == cell.md5sum}) // Get upload state let uploadState = self.getUploadStateOfImage(at: indexPath.item, for: cell) @@ -98,7 +98,7 @@ extension PasteboardImagesViewController: UICollectionViewDelegate let cell = collectionView.cellForItem(at: indexPath) as? LocalImageCollectionViewCell { // Get image identifier and corresponding upload request if it exists let identifier = NSString(string: "\(cell.localIdentifier)") - let upload = (self.uploads.fetchedObjects ?? []).filter({$0.localIdentifier == cell.localIdentifier}) + let upload = (self.uploads.fetchedObjects ?? []).filter({$0.md5Sum == cell.md5sum}) // Get upload state let uploadState = self.getUploadStateOfImage(at: indexPath.item, for: cell) From 1a7da900b92dd850d12b49a43bc51d5171c42815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 22:44:41 +0200 Subject: [PATCH 10/55] Suggests upload command in context menu when re-uploading is allowed --- .../PasteboardImagesViewController+Delegate.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift index f8204f6ff..8487922d5 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift @@ -83,6 +83,9 @@ extension PasteboardImagesViewController: UICollectionViewDelegate children.append(self.uploaAction(forCell: cell, at: indexPath)) } else { children.append(self.statusAction(upload.first)) + if self.reUploadAllowed { + children.append(self.uploaAction(forCell: cell, at: indexPath)) + } } return UIMenu(title: "", children: children) }) @@ -124,6 +127,9 @@ extension PasteboardImagesViewController: UICollectionViewDelegate children.append(self.uploaAction(forCell: cell, at: indexPath)) } else { children.append(self.statusAction(upload.first)) + if self.reUploadAllowed { + children.append(self.uploaAction(forCell: cell, at: indexPath)) + } } return UIMenu(title: "", children: children) }) From 845e58ed95bf7ab43d8ef2b047560ce26e22ce60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 22:45:36 +0200 Subject: [PATCH 11/55] Improves comments, cleans code --- .../LocalImagesViewController.swift | 38 +++++++++---------- ...teboardImagesViewController+Delegate.swift | 3 +- ...asteboardImagesViewController+Select.swift | 15 ++++---- .../PasteboardImagesViewController.swift | 6 +-- .../LocalAlbumsViewController.swift | 11 ++---- 5 files changed, 34 insertions(+), 39 deletions(-) diff --git a/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift b/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift index 68ae2aad1..5ccc2a33a 100644 --- a/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift +++ b/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift @@ -672,10 +672,10 @@ class LocalImagesViewController: UIViewController } - // MARK: - Re-upload & Delete Camera Roll Images + // MARK: - Re-Upload Photos @available(iOS 14, *) private func reUploadAction() -> UIAction? { - // Check if there are uploaded photos + // Check if there are already uploaded photos if !canDeleteUploadedImages() { return nil } // Propose option for re-uploading photos @@ -737,28 +737,12 @@ class LocalImagesViewController: UIViewController } self.updateNavBar() } - - private func canDeleteUploadedImages() -> Bool { - // Don't provide access to the Trash button until the preparation work is not done - if queue.operationCount > 0 { return false } - // Check if there are uploaded photos to delete - let indexedUploads = self.indexedUploadsInQueue.compactMap({$0}) - let completed = (uploads.fetchedObjects ?? []).filter({[.finished, .moderated].contains($0.state)}) - for index in 0.. UIAction? { - // Check if there are uploaded photos + // Check if there are already uploaded photos that can be deleted if canDeleteUploadedImages() == false, canDeleteSelectedImages() == false { return nil } @@ -818,6 +802,22 @@ class LocalImagesViewController: UIViewController } } + private func canDeleteUploadedImages() -> Bool { + // Don't provide access to the Trash button until the preparation work is not done + if queue.operationCount > 0 { return false } + + // Check if there are uploaded photos to delete + let indexedUploads = self.indexedUploadsInQueue.compactMap({$0}) + let completed = (uploads.fetchedObjects ?? []).filter({[.finished, .moderated].contains($0.state)}) + for index in 0.. Bool { var hasImagesToDelete = false let imageIDs = selectedImages.compactMap({ $0?.localIdentifier }) diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift index 8487922d5..35df0a7dc 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Delegate.swift @@ -217,8 +217,7 @@ extension PasteboardImagesViewController: UICollectionViewDelegate return UIAction(title: NSLocalizedString("tabBar_upload", comment: "Upload"), image: UIImage(named: "imageUpload")) { action in // Check that an upload request does not exist for that image (should never happen) - if (self.uploads.fetchedObjects ?? []) - .filter({$0.localIdentifier == cell.localIdentifier}).first != nil { + if (self.uploads.fetchedObjects ?? []).filter({$0.md5Sum == cell.md5sum}).first != nil { return } diff --git a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift index 0ed817d20..d3e751a6a 100644 --- a/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift +++ b/piwigo/Upload/Pick Pasteboard Images/Extensions/PasteboardImagesViewController+Select.swift @@ -116,10 +116,10 @@ extension PasteboardImagesViewController: UIGestureRecognizerDelegate func updateSelectButton() { // Number of images in section - let nberOfImagesInSection = localImagesCollection.numberOfItems(inSection: 0) + let nberOfImages = localImagesCollection.numberOfItems(inSection: 0) // Job done if there is no image presented - if nberOfImagesInSection == 0 { + if nberOfImages == 0 { sectionState = .none return } @@ -132,18 +132,17 @@ extension PasteboardImagesViewController: UIGestureRecognizerDelegate } // Number of images already in the upload queue - var nberOfImagesOfSectionInUploadQueue = 0 + var nberOfImagesInUploadQueue = 0 if reUploadAllowed == false { - nberOfImagesOfSectionInUploadQueue = indexedUploadsInQueue[0.. Bool { - // Don't provide access to the Trash button until the preparation work is not done + // Don't provide access to the re-upload button until the preparation work is not done if !pendingOperations.preparationsInProgress.isEmpty { return false } - // Check if there are uploaded photos to delete + // Check if there are already uploaded photos let indexedUploads = self.indexedUploadsInQueue.compactMap({$0}) let completed = (uploads.fetchedObjects ?? []).filter({[.finished, .moderated].contains($0.state)}) for index in 0.. 0, let _ = UIPasteboard.general.types(forItemSet: indexSet) { - hasImagesInPasteboard = true - } else { - hasImagesInPasteboard = false - } + let testTypes = UIPasteboard.general.contains(pasteboardTypes: pasteboardTypes) ? true : false + let nberPhotos = UIPasteboard.general.itemSet(withPasteboardTypes: pasteboardTypes)?.count ?? 0 + hasImagesInPasteboard = testTypes && (nberPhotos > 0) } - + // Set colors, fonts, etc. applyColorPalette() From a6d04cf78181e5ba69f249c63643c4db32f91d3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 22:48:49 +0200 Subject: [PATCH 12/55] Suggests upload command in context menu when re-uploading is allowed --- .../Extensions/LocalImagesViewController+Delegate.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift index 84e543ee1..c4a9f181e 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift @@ -93,6 +93,9 @@ extension LocalImagesViewController: UICollectionViewDelegate } else { children.append(self.statusAction(upload.first)) } + if self.reUploadAllowed { + children.append(self.uploaAction(forCell: cell, at: indexPath)) + } if canDelete { children.append(self.deleteAction(forCell: cell, at: indexPath)) } @@ -144,6 +147,9 @@ extension LocalImagesViewController: UICollectionViewDelegate } else { children.append(self.statusAction(upload.first)) } + if self.reUploadAllowed { + children.append(self.uploaAction(forCell: cell, at: indexPath)) + } if canDelete { children.append(self.deleteAction(forCell: cell, at: indexPath)) } From 45969eaf933f4ee3e44154bdc8c1428eb19d26f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 9 Aug 2024 22:57:33 +0200 Subject: [PATCH 13/55] Version 3.2.2 build 586 for TestFlight testing --- piwigo/Info.plist | 2 +- piwigoKit/Info.plist | 2 +- uploadKit/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/piwigo/Info.plist b/piwigo/Info.plist index cf3a504fe..7331d9d3b 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -25,7 +25,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 585 + 586 INIntentsSupported AutoUploadIntent diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index 09bbd4068..e3a8d9882 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 3.2.1 CFBundleVersion - 587 + 588 diff --git a/uploadKit/Info.plist b/uploadKit/Info.plist index 8bb9f4274..8d1df241c 100644 --- a/uploadKit/Info.plist +++ b/uploadKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.2.1 CFBundleVersion - 405 + 406 From f7bc696e81099a3fb3cb90a84e3db37ba3ced1da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sat, 10 Aug 2024 12:50:01 +0200 Subject: [PATCH 14/55] Fixes wrong placeholder of unknown image --- piwigo/Image/ImageUtilities.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/piwigo/Image/ImageUtilities.swift b/piwigo/Image/ImageUtilities.swift index f859be0b3..e402a4839 100644 --- a/piwigo/Image/ImageUtilities.swift +++ b/piwigo/Image/ImageUtilities.swift @@ -269,7 +269,7 @@ class ImageUtilities: NSObject { } else { // Delete corrupted cached image file try? FileManager.default.removeItem(at: imageURL) - return UIImage(named: "placeholder")! + return UIImage(named: "unknownImage")! } } From 06160039829e1382654cf8fde75be0b1cbad262f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 13 Aug 2024 22:48:00 +0200 Subject: [PATCH 15/55] Adds Mannual Order sort option --- .../Extensions/AlbumViewController+Menu.swift | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Menu.swift b/piwigo/Album/Extensions/AlbumViewController+Menu.swift index 61652ad59..ae11cca15 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Menu.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Menu.swift @@ -216,6 +216,19 @@ extension AlbumViewController let visitsSortAction = UIAlertAction(title: title, style: .default, handler: handler) alert.addAction(visitsSortAction) + // Sorted manually + if sortOption != .rankAscending { + let randomAction = UIAlertAction(title: NSLocalizedString("categorySort_manual", comment: "Manual Order"), + style: .default, handler: { [self] action in + sortOption = .rankAscending + images.delegate = nil + images = data.images(sortedBy: .rankAscending) + images.delegate = self + updateImageCollection() + }) + alert.addAction(randomAction) + } + // Presents photos randomly if sortOption != .random { let randomAction = UIAlertAction(title: NSLocalizedString("categorySort_randomly", comment: "Randomly"), @@ -382,7 +395,7 @@ extension AlbumViewController children: [defaultSortAction(), titleSortAction(), createdSortAction(), postedSortAction(), ratingSortAction(), visitsSortAction(), - randomSortAction()].compactMap({$0})) + manualSortAction(), randomSortAction()].compactMap({$0})) } func defaultSortAction() -> UIAction? { @@ -625,6 +638,32 @@ extension AlbumViewController return action } + func manualSortAction() -> UIAction? { + // Unavailable when presenting some smart albums + let unwantedAlbums = [pwgSmartAlbum.visits.rawValue, pwgSmartAlbum.best.rawValue] + if unwantedAlbums.contains(categoryId) { + return nil + } + + let actionId = UIAction.Identifier("org.piwigo.images.sort.manual") + let isActive = sortOption == .rankAscending + let action = UIAction(title: NSLocalizedString("categorySort_manual", comment: "Manual Order"), + image: isActive ? UIImage(systemName: "checkmark") : nil, + identifier: actionId, handler: { [self] action in + // Should sorting be changed? + if isActive { return } + + // Change image sorting + sortOption = .rankAscending + images.delegate = nil + images = data.images(sortedBy: .rankAscending) + images.delegate = self + updateCollectionAndMenu() + }) + action.accessibilityIdentifier = "ManualSort" + return action + } + func randomSortAction() -> UIAction? { // Unavailable when presenting some smart albums let unwantedAlbums = [pwgSmartAlbum.visits.rawValue, pwgSmartAlbum.best.rawValue] From a6e169744d67b9149d0e63e2da83c9ea912ea100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 13 Aug 2024 23:12:10 +0200 Subject: [PATCH 16/55] Fetch favorites using the wanted sort option --- piwigo/Album/Extensions/AlbumViewController+Fetch.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Fetch.swift b/piwigo/Album/Extensions/AlbumViewController+Fetch.swift index f7c30fe8c..5cfbd3f24 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Fetch.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Fetch.swift @@ -291,8 +291,7 @@ extension AlbumViewController fromPage onPage: Int, toPage lastPage: Int, perPage: Int) { // Use the ImageProvider to fetch image data. On completion, // handle general UI updates and error alerts on the main queue. - imageProvider.fetchImages(ofAlbumWithId: album.pwgID, withQuery: "", - sort: .dateCreatedAscending, + imageProvider.fetchImages(ofAlbumWithId: album.pwgID, withQuery: "", sort: sortOption, fromPage: onPage, perPage: perPage) { [self] fetchedImageIds, totalCount, error in // Any error? if error != nil { From 4d4148d80fa66176684863c36127bedb85d46b92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 13 Aug 2024 23:13:31 +0200 Subject: [PATCH 17/55] ImportImages requires a sort option --- .../Data Cache/Image Data/ImageProvider.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/piwigoKit/Data Cache/Image Data/ImageProvider.swift b/piwigoKit/Data Cache/Image Data/ImageProvider.swift index cbbeb4724..467a3011d 100644 --- a/piwigoKit/Data Cache/Image Data/ImageProvider.swift +++ b/piwigoKit/Data Cache/Image Data/ImageProvider.swift @@ -208,7 +208,8 @@ public class ImageProvider: NSObject { */ public func didUploadImage(_ imageData: ImagesGetInfo, asVideo: Bool, inAlbumId albumId: Int32) { // Import the image data into Core Data. - try? self.importImages([imageData], inAlbum: albumId, withAlbumUpdate: true) + // The provided sort option will not change the rankManual/rankRandom values of Int64.min + try? self.importImages([imageData], inAlbum: albumId, withAlbumUpdate: true, sort: .albumDefault) } /** @@ -239,8 +240,9 @@ public class ImageProvider: NSObject { return } - // Import the imageJSON into Core Data. - try self.importImages([imageJSON.data], inAlbum: albumId) + // Import the imageJSON into Core Data + // The provided sort option will not change the rankManual/rankRandom values. + try self.importImages([imageJSON.data], inAlbum: albumId, sort: .albumDefault) completion() } @@ -265,12 +267,11 @@ public class ImageProvider: NSObject { private let batchSize = 25 private func importImages(_ imageArray: [ImagesGetInfo], inAlbum albumId: Int32, withAlbumUpdate: Bool = false, - sort: pwgImageSort = .dateCreatedDescending, - fromRank rank: Int64 = Int64.min) throws { + sort: pwgImageSort, fromRank rank: Int64 = Int64.min) throws { // We shall perform at least one import in case where // the user did delete all images guard imageArray.isEmpty == false else { - _ = importOneBatch([ImagesGetInfo](), inAlbum: albumId) + _ = importOneBatch([ImagesGetInfo](), inAlbum: albumId, sort: sort) return } @@ -315,8 +316,7 @@ public class ImageProvider: NSObject { */ private func importOneBatch(_ imagesBatch: [ImagesGetInfo], inAlbum albumId: Int32, withAlbumUpdate: Bool = false, - sort: pwgImageSort = .dateCreatedDescending, - fromRank startRank: Int64 = Int64.min) -> Bool { + sort: pwgImageSort, fromRank startRank: Int64 = Int64.min) -> Bool { // Initialisation var success = false From 4049d5b11a7ddc6955039ad89612a82da33b5276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 13 Aug 2024 23:36:52 +0200 Subject: [PATCH 18/55] Fetches rankManual/rankRandom if needed when user selects one of these sort options --- .../Extensions/AlbumViewController+Menu.swift | 34 +++++++++++++------ 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Menu.swift b/piwigo/Album/Extensions/AlbumViewController+Menu.swift index ae11cca15..cd0ad8852 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Menu.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Menu.swift @@ -220,11 +220,17 @@ extension AlbumViewController if sortOption != .rankAscending { let randomAction = UIAlertAction(title: NSLocalizedString("categorySort_manual", comment: "Manual Order"), style: .default, handler: { [self] action in + if let allImages = images.fetchedObjects { + allImages.forEach { image in + debugPrint("Manual Sort: \(image.pwgID) -> \(image.rankManual == Int64.min ? "Unknown" : "Known")") + } + } sortOption = .rankAscending images.delegate = nil images = data.images(sortedBy: .rankAscending) images.delegate = self - updateImageCollection() + let shouldFetch = images.fetchedObjects?.first(where: {$0.rankManual == Int64.min}) != nil + updateImageCollection(afterFetchingRanks: shouldFetch) }) alert.addAction(randomAction) } @@ -237,7 +243,8 @@ extension AlbumViewController images.delegate = nil images = data.images(sortedBy: .random) images.delegate = self - updateImageCollection() + let shouldFetch = images.fetchedObjects?.first(where: {$0.rankRandom == Int64.min}) != nil + updateImageCollection(afterFetchingRanks: shouldFetch) }) alert.addAction(randomAction) } @@ -256,10 +263,15 @@ extension AlbumViewController } } - func updateImageCollection() { - // Re-fetch image collection - try? images.performFetch() - collectionView?.reloadData() + func updateImageCollection(afterFetchingRanks shouldFetch: Bool = false) { + if shouldFetch { + // Some image ranks are unknown and must be retrieved + startFetchingAlbumAndImages(withHUD: true) + } else { + // Re-fetch image collection + try? images.performFetch() + collectionView?.reloadData() + } } } @@ -369,9 +381,9 @@ extension AlbumViewController: ImageHeaderDelegate extension AlbumViewController { // MARK: - Menu - func updateCollectionAndMenu() { + func updateCollectionAndMenu(afterFetchingRanks shouldFetch: Bool = false) { // Re-fetch image collection - updateImageCollection() + updateImageCollection(afterFetchingRanks: shouldFetch) // Update menu var children = [UIMenu?]() @@ -658,7 +670,8 @@ extension AlbumViewController images.delegate = nil images = data.images(sortedBy: .rankAscending) images.delegate = self - updateCollectionAndMenu() + let shouldFetch = images.fetchedObjects?.first(where: {$0.rankManual == Int64.min}) != nil + updateCollectionAndMenu(afterFetchingRanks: shouldFetch) }) action.accessibilityIdentifier = "ManualSort" return action @@ -684,7 +697,8 @@ extension AlbumViewController images.delegate = nil images = data.images(sortedBy: .random) images.delegate = self - updateCollectionAndMenu() + let shouldFetch = images.fetchedObjects?.first(where: {$0.rankRandom == Int64.min}) != nil + updateCollectionAndMenu(afterFetchingRanks: shouldFetch) }) action.accessibilityIdentifier = "RandomSort" return action From 34a6268b98c712661ccc826acc9ec026f06d3de8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Wed, 14 Aug 2024 07:46:24 +0200 Subject: [PATCH 19/55] Adopts more reliable email address --- piwigo/Resources/en.lproj/PrivacyPolicy.strings | 2 +- .../Extensions/SettingsViewController+UITableViewDelegate.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/piwigo/Resources/en.lproj/PrivacyPolicy.strings b/piwigo/Resources/en.lproj/PrivacyPolicy.strings index fa4191aad..252f08d59 100644 --- a/piwigo/Resources/en.lproj/PrivacyPolicy.strings +++ b/piwigo/Resources/en.lproj/PrivacyPolicy.strings @@ -60,4 +60,4 @@ "contact_address" = "Piwigo, 42 rue des Vignes, 21800 Quetigny (France)"; -"contact_email" = "ios@piwigo.org"; +"contact_email" = "piwigo@lelievre-berna.net"; diff --git a/piwigo/Settings/Extensions/SettingsViewController+UITableViewDelegate.swift b/piwigo/Settings/Extensions/SettingsViewController+UITableViewDelegate.swift index 70c8d8772..73720b033 100644 --- a/piwigo/Settings/Extensions/SettingsViewController+UITableViewDelegate.swift +++ b/piwigo/Settings/Extensions/SettingsViewController+UITableViewDelegate.swift @@ -430,7 +430,7 @@ extension SettingsViewController: UITableViewDelegate // Configure the fields of the interface. composeVC.setToRecipients([ - NSLocalizedString("contact_email", tableName: "PrivacyPolicy", bundle: Bundle.main, value: "", comment: "Contact email") + NSLocalizedString("contact_email", tableName: "PrivacyPolicy", bundle: Bundle.main, value: "", comment: "Contact email") ]) // Collect version and build numbers From 7e4d15d0818c72852748c3bc1cbf0ea290662170 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Lelie=CC=80vre-Berna?= Date: Sat, 17 Aug 2024 10:19:49 +0200 Subject: [PATCH 20/55] Create Download_on_the_App_Store_Badge.svg --- .../Download_on_the_App_Store_Badge.svg | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100755 Assets/Images - Readme/Download_on_the_App_Store_Badge.svg diff --git a/Assets/Images - Readme/Download_on_the_App_Store_Badge.svg b/Assets/Images - Readme/Download_on_the_App_Store_Badge.svg new file mode 100755 index 000000000..072b425a1 --- /dev/null +++ b/Assets/Images - Readme/Download_on_the_App_Store_Badge.svg @@ -0,0 +1,46 @@ + + Download_on_the_App_Store_Badge_US-UK_RGB_blk_4SVG_092917 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From eb9adda08fc3c7da0e23c4067d93bd96afdfb5f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sat, 17 Aug 2024 15:00:11 +0200 Subject: [PATCH 21/55] Disables logs --- uploadKit/Supporting Files/ImageMetadata.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uploadKit/Supporting Files/ImageMetadata.swift b/uploadKit/Supporting Files/ImageMetadata.swift index cf939083a..ee36a1f85 100644 --- a/uploadKit/Supporting Files/ImageMetadata.swift +++ b/uploadKit/Supporting Files/ImageMetadata.swift @@ -139,7 +139,7 @@ extension CGImageMetadata { let prefix = CGImageMetadataTagCopyPrefix(tag)! let name = CGImageMetadataTagCopyName(tag)! let path = ((prefix as String) + ":" + (name as String)) as CFString - print("=> Tag: \(prefix):\(name)") +// debugPrint("=> Tag: \(prefix):\(name)") // Check presence of dictionary if let properties = dictOfKeys[prefix] { From 9209776d0390a27a59637d86cf5ea826f3ef249d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sat, 17 Aug 2024 16:25:15 +0200 Subject: [PATCH 22/55] Disable logs --- uploadKit/Supporting Files/VideoMetadata.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uploadKit/Supporting Files/VideoMetadata.swift b/uploadKit/Supporting Files/VideoMetadata.swift index 637c17728..304b9b06f 100644 --- a/uploadKit/Supporting Files/VideoMetadata.swift +++ b/uploadKit/Supporting Files/VideoMetadata.swift @@ -18,7 +18,7 @@ extension Array where Element == AVMetadataItem { var locations = AVMetadataItem.metadataItems(from: metadata, filteredByIdentifier: locationID) if let location = locations.first { if let position = location.stringValue { - print("position => \(position)") +// debugPrint("position => \(position)") } return true } From 3e2f0beaa83c05d6e191a4784a9382c5184355f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 18 Aug 2024 10:41:33 +0200 Subject: [PATCH 23/55] Adopts shorter syntax --- piwigo/Upload/PhotosFetch.swift | 48 ++++++++++++++++----------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/piwigo/Upload/PhotosFetch.swift b/piwigo/Upload/PhotosFetch.swift index 1b1c2c366..9d6aa31a1 100644 --- a/piwigo/Upload/PhotosFetch.swift +++ b/piwigo/Upload/PhotosFetch.swift @@ -44,9 +44,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { self.showPhotosLibraryAccessRestricted(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.showPhotosLibraryAccessRestricted(in: viewController) - }) + } } } doWithoutAccess() @@ -63,9 +63,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { self.requestPhotoLibraryAccess(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.requestPhotoLibraryAccess(in: viewController) - }) + } } } } @@ -74,9 +74,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { doWithAccess() } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { doWithAccess() - }) + } } } } @@ -92,9 +92,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { showPhotosLibraryAccessRestricted(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.showPhotosLibraryAccessRestricted(in: viewController) - }) + } } } doWithoutAccess() @@ -111,9 +111,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { requestPhotoLibraryAccess(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.requestPhotoLibraryAccess(in: viewController) - }) + } } } } @@ -122,9 +122,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { doWithAccess() } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { doWithAccess() - }) + } } @unknown default: print("unknown Photo Library authorization status") @@ -150,9 +150,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { self.showPhotosLibraryAccessRestricted(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.showPhotosLibraryAccessRestricted(in: viewController) - }) + } } } // Exceute next steps @@ -163,9 +163,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { self.requestPhotoLibraryAccess(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.requestPhotoLibraryAccess(in: viewController) - }) + } } } // Exceute next steps @@ -175,9 +175,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { doWithAccess() } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { doWithAccess() - }) + } } } }) @@ -187,9 +187,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { showPhotosLibraryAccessRestricted(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.showPhotosLibraryAccessRestricted(in: viewController) - }) + } } } // Exceute next steps @@ -200,9 +200,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { requestPhotoLibraryAccess(in: viewController) } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { self.requestPhotoLibraryAccess(in: viewController) - }) + } } } // Exceute next steps @@ -212,9 +212,9 @@ class PhotosFetch: NSObject { if Thread.isMainThread { doWithAccess() } else { - DispatchQueue.main.async(execute: { + DispatchQueue.main.async { doWithAccess() - }) + } } } } From e38bff3e1326cf51d58594024c3672d956578b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 18 Aug 2024 21:47:41 +0200 Subject: [PATCH 24/55] Returns device memory size for limiting tasks performed with image selections --- .../Macros/Device+Model.swift | 224 ++++++++++++------ 1 file changed, 158 insertions(+), 66 deletions(-) diff --git a/piwigo/Supporting Files/Macros/Device+Model.swift b/piwigo/Supporting Files/Macros/Device+Model.swift index d9d5f6389..1db0a207b 100644 --- a/piwigo/Supporting Files/Macros/Device+Model.swift +++ b/piwigo/Supporting Files/Macros/Device+Model.swift @@ -15,9 +15,9 @@ extension UIDevice { // MARK: - Identifier var identifier: String { - #if targetEnvironment(simulator) +#if targetEnvironment(simulator) let identifier = ProcessInfo().environment["SIMULATOR_MODEL_IDENTIFIER"]! - #else +#else var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) @@ -25,7 +25,7 @@ extension UIDevice { guard let value = element.value as? Int8 , value != 0 else { return identifier } return identifier + String(UnicodeScalar(UInt8(value))) } - #endif +#endif return identifier } @@ -129,7 +129,7 @@ extension UIDevice { return "iPhone 15 Pro" case "iPhone16,2": return "iPhone 15 Pro Max" - + // MARK: iPad case "iPad1,1": return "iPad" @@ -287,7 +287,7 @@ extension UIDevice { return "iPad Pro 13-inch (M4) (Wi-Fi)" case "iPad16,6": return "iPad Pro 13-inch (M4) (Wi-Fi + Cellular)" - + // MARK: iPod case "iPod1,1": return "iPod touch" @@ -303,7 +303,7 @@ extension UIDevice { return "iPod touch (6th generation)" case "iPod9,1": return "iPod touch (7th generation)" - + // MARK: Simulator case "i386", "x86_64": return "Simulator" @@ -311,12 +311,12 @@ extension UIDevice { return identifier } } - - + + // MARK: - Photo Resolutions var modelPhotoResolution: String { switch identifier { - + // MARK: iPhone case "iPhone1,1", "iPhone1,2": return "2 Mpx" @@ -325,48 +325,48 @@ extension UIDevice { case "iPhone3,1", "iPhone3,2", "iPhone3,3": return "5 Mpx" case "iPhone4,1", - "iPhone5,1", "iPhone5,2", "iPhone5,3", "iPhone5,4", - "iPhone6,1", "iPhone6,2", "iPhone7,1", "iPhone7,2": + "iPhone5,1", "iPhone5,2", "iPhone5,3", "iPhone5,4", + "iPhone6,1", "iPhone6,2", "iPhone7,1", "iPhone7,2": return "8 Mpx" case "iPhone8,1", "iPhone8,2", "iPhone8,4", - "iPhone9,1", "iPhone9,2", "iPhone9,3", "iPhone9,4", - "iPhone10,1", "iPhone10,2", "iPhone10,3", "iPhone10,4", "iPhone10,5", "iPhone10,6", - "iPhone11,2", "iPhone11,6", "iPhone11,8", - "iPhone12,1", "iPhone12,3", "iPhone12,5", "iPhone12,8", - "iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4", - "iPhone14,2", "iPhone14,3", "iPhone14,4", "iPhone14,5", "iPhone14,6", - "iPhone14,7", "iPhone14,8": + "iPhone9,1", "iPhone9,2", "iPhone9,3", "iPhone9,4", + "iPhone10,1", "iPhone10,2", "iPhone10,3", "iPhone10,4", "iPhone10,5", "iPhone10,6", + "iPhone11,2", "iPhone11,6", "iPhone11,8", + "iPhone12,1", "iPhone12,3", "iPhone12,5", "iPhone12,8", + "iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4", + "iPhone14,2", "iPhone14,3", "iPhone14,4", "iPhone14,5", "iPhone14,6", + "iPhone14,7", "iPhone14,8": return "12 Mpx" case "iPhone15,2", "iPhone15,3", "iPhone15,4", "iPhone15,5", - "iPhone16,1", "iPhone16,2": + "iPhone16,1", "iPhone16,2": return "48 Mpx" - + // MARK: iPad case "iPad1,1": return "" case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4": return "0.92 Mpx" case "iPad2,5", "iPad2,6", "iPad2,7", - "iPad3,1", "iPad3,2", "iPad3,3", "iPad3,4", "iPad3,5", "iPad3,6", - "iPad4,1", "iPad4,2", "iPad4,4", "iPad4,5", "iPad4,7", "iPad4,8": + "iPad3,1", "iPad3,2", "iPad3,3", "iPad3,4", "iPad3,5", "iPad3,6", + "iPad4,1", "iPad4,2", "iPad4,4", "iPad4,5", "iPad4,7", "iPad4,8": return "5 Mpx" case "iPad5,1", "iPad5,2", "iPad5,3", "iPad5,4", - "iPad6,7", "iPad6,8", "iPad6,11", "iPad6,12", - "iPad7,5", "iPad7,6", "iPad7,11", "iPad7,12", - "iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", "iPad11,6", "iPad11,7": + "iPad6,7", "iPad6,8", "iPad6,11", "iPad6,12", + "iPad7,5", "iPad7,6", "iPad7,11", "iPad7,12", + "iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", "iPad11,6", "iPad11,7": return "8 Mpx" case "iPad6,3", "iPad6,4", - "iPad7,1", "iPad7,2", "iPad7,3", "iPad7,4", - "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", "iPad8,6", - "iPad8,7", "iPad8,8", "iPad8,9", "iPad8,10", "iPad8,11", "iPad8,12", - "iPad12,1", "iPad12,2", - "iPad13,1", "iPad13,2", "iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7", "iPad13,8", - "iPad13,9", "iPad13,10", "iPad13,11", "iPad13,16", "iPad13,17", "iPad13,18", "iPad13,19", - "iPad14,1", "iPad14,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", - "iPad14,8", "iPad14,9", "iPad14,10", "iPad14,11", - "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6": + "iPad7,1", "iPad7,2", "iPad7,3", "iPad7,4", + "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", "iPad8,6", + "iPad8,7", "iPad8,8", "iPad8,9", "iPad8,10", "iPad8,11", "iPad8,12", + "iPad12,1", "iPad12,2", + "iPad13,1", "iPad13,2", "iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7", "iPad13,8", + "iPad13,9", "iPad13,10", "iPad13,11", "iPad13,16", "iPad13,17", "iPad13,18", "iPad13,19", + "iPad14,1", "iPad14,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", + "iPad14,8", "iPad14,9", "iPad14,10", "iPad14,11", + "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6": return "12 Mpx" - + // MARK: iPod case "iPod1,1", "iPod2,1", "iPod3,1": return "" @@ -376,7 +376,7 @@ extension UIDevice { return "5 Mpx" case "iPod7,1", "iPod9,1": return "8 Mpx" - + // MARK: Simulator case "i386", "x86_64": return "? Mpx" @@ -384,62 +384,61 @@ extension UIDevice { return "? Mpx" } } - - + + // MARK: - Video Capabilities var modelVideoCapabilities: String { switch identifier { - // MARK: iPhone case "iPhone1,1", "iPhone1,2", "iPhone2,1": return "VGA, 30 fps" case "iPhone3,1", "iPhone3,2", "iPhone3,3": return "HD, 30 fps" case "iPhone4,1", - "iPhone5,1", "iPhone5,2", "iPhone5,3", "iPhone5,4", - "iPhone6,1", "iPhone6,2", - "iPhone7,1", "iPhone7,2": + "iPhone5,1", "iPhone5,2", "iPhone5,3", "iPhone5,4", + "iPhone6,1", "iPhone6,2", + "iPhone7,1", "iPhone7,2": return "Full HD, 30 fps" case "iPhone8,1", "iPhone8,2", "iPhone8,4", - "iPhone9,1", "iPhone9,2", "iPhone9,3", "iPhone9,4": + "iPhone9,1", "iPhone9,2", "iPhone9,3", "iPhone9,4": return "4K, 30 fps" case "iPhone10,1", "iPhone10,2", "iPhone10,3", "iPhone10,4", "iPhone10,5", "iPhone10,6", - "iPhone11,2", "iPhone11,6", "iPhone11,8", - "iPhone12,1", "iPhone12,3", "iPhone12,5", "iPhone12,8", - "iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4", - "iPhone14,2", "iPhone14,3", "iPhone14,4", "iPhone14,5", "iPhone14,6", "iPhone14,7", "iPhone14,8", - "iPhone15,2", "iPhone15,3", "iPhone15,4", "iPhone15,5", - "iPhone16,1", "iPhone16,2": + "iPhone11,2", "iPhone11,6", "iPhone11,8", + "iPhone12,1", "iPhone12,3", "iPhone12,5", "iPhone12,8", + "iPhone13,1", "iPhone13,2", "iPhone13,3", "iPhone13,4", + "iPhone14,2", "iPhone14,3", "iPhone14,4", "iPhone14,5", "iPhone14,6", "iPhone14,7", "iPhone14,8", + "iPhone15,2", "iPhone15,3", "iPhone15,4", "iPhone15,5", + "iPhone16,1", "iPhone16,2": return "4K, 60 fps" - + // MARK: iPad case "iPad1,1": return "" case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4": return "VGA, 30 fps" case "iPad2,5", "iPad2,6", "iPad2,7", - "iPad3,1", "iPad3,2", "iPad3,3", "iPad3,4", "iPad3,5", "iPad3,6", - "iPad4,1", "iPad4,2", "iPad4,4", "iPad4,5", "iPad4,7", "iPad4,8", - "iPad6,3", "iPad6,4": + "iPad3,1", "iPad3,2", "iPad3,3", "iPad3,4", "iPad3,5", "iPad3,6", + "iPad4,1", "iPad4,2", "iPad4,4", "iPad4,5", "iPad4,7", "iPad4,8", + "iPad6,3", "iPad6,4": return "HD, 30 fps" case "iPad5,1", "iPad5,2", "iPad5,3", "iPad5,4", - "iPad6,7", "iPad6,8", "iPad6,11", "iPad6,12", - "iPad7,5", "iPad7,6", "iPad7,11", "iPad7,12", - "iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", "iPad11,6", "iPad11,7": + "iPad6,7", "iPad6,8", "iPad6,11", "iPad6,12", + "iPad7,5", "iPad7,6", "iPad7,11", "iPad7,12", + "iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", "iPad11,6", "iPad11,7": return "Full HD, 30 fps" case "iPad7,1", "iPad7,2", "iPad7,3", "iPad7,4", - "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", - "iPad8,6", "iPad8,7", "iPad8,8", "iPad8,9", "iPad8,10", "iPad8,11", "iPad8,12", - "iPad12,1", "iPad12,2", "iPad13,1", "iPad13,2": + "iPad8,1", "iPad8,2", "iPad8,3", "iPad8,4", "iPad8,5", + "iPad8,6", "iPad8,7", "iPad8,8", "iPad8,9", "iPad8,10", "iPad8,11", "iPad8,12", + "iPad12,1", "iPad12,2", "iPad13,1", "iPad13,2": return "4K, 30 fps" case "iPad13,4", "iPad13,5", "iPad13,6", "iPad13,7", - "iPad13,8", "iPad13,9", "iPad13,10", "iPad13,11", - "iPad13,16", "iPad13,17", "iPad13,18", "iPad13,19", - "iPad14,1", "iPad14,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", - "iPad14,8", "iPad14,9", "iPad14,10", "iPad14,11", - "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6": + "iPad13,8", "iPad13,9", "iPad13,10", "iPad13,11", + "iPad13,16", "iPad13,17", "iPad13,18", "iPad13,19", + "iPad14,1", "iPad14,2", "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", + "iPad14,8", "iPad14,9", "iPad14,10", "iPad14,11", + "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6": return "4K, 60 fps" - + // MARK: iPod case "iPod1,1", "iPod2,1", "iPod3,1": return "" @@ -447,7 +446,7 @@ extension UIDevice { return "HD, 30 fps" case "iPod5,1", "iPod7,1", "iPod9,1": return "Full HD, 30 fps" - + // MARK: Simulator case "i386", "x86_64": return "? Mpx" @@ -455,4 +454,97 @@ extension UIDevice { return "? Mpx" } } + + // MARK: - Available Memory in MB + /// Returns the lowest value of the model when the memory size depends on the capacity + var modelMemorySize: Int64 { + switch identifier { + // MARK: iPhone + case "iPhone1,1", "iPhone1,2": + return 128 + case "iPhone2,1": + return 256 + case "iPhone3,1", "iPhone3,2", "iPhone3,3", + "iPhone4,1": + return 512 + case "iPhone5,1", "iPhone5,2", "iPhone5,3", "iPhone5,4", + "iPhone6,1", "iPhone6,2", + "iPhone7,1", "iPhone7,2": + return 1024 + case "iPhone8,1", "iPhone8,2", "iPhone8,4", + "iPhone9,1", "iPhone9,3", + "iPhone10,1", "iPhone10,4": + return 2048 + case "iPhone9,2", "iPhone9,4", + "iPhone10,2", "iPhone10,3", "iPhone10,5", "iPhone10,6", + "iPhone11,8", + "iPhone12,8": + return 3072 + case "iPhone11,2", "iPhone11,6", + "iPhone12,1", "iPhone12,3", "iPhone12,5", + "iPhone13,1", "iPhone13,2", + "iPhone14,4", "iPhone14,5", "iPhone14,6": + return 4096 + case "iPhone13,3", "iPhone13,4", + "iPhone14,2", "iPhone14,3", "iPhone14,7", "iPhone14,8", + "iPhone15,2", "iPhone15,3", "iPhone15,4", "iPhone15,5": + return 6144 + case "iPhone16,1", "iPhone16,2": + return 8192 + + // MARK: iPad + case "iPad1,1": + return 256 + case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4", "iPad2,5", "iPad2,6", "iPad2,7": + return 512 + case "iPad3,1", "iPad3,2", "iPad3,3", "iPad3,4", "iPad3,5", "iPad3,6", + "iPad4,1", "iPad4,2", "iPad4,4", "iPad4,5", "iPad4,7", "iPad4,8": + return 1024 + case "iPad5,1", "iPad5,2", "iPad5,3", "iPad5,4", + "iPad6,3", "iPad6,4", "iPad6,11", "iPad6,12", + "iPad7,5", "iPad7,6": + return 2048 + case "iPad11,1", "iPad11,2", "iPad11,3", "iPad11,4", + "iPad7,11", "iPad7,12", + "iPad11,6", "iPad11,7", + "iPad12,1", "iPad12,2": + return 3072 + case "iPad6,7", "iPad6,8", + "iPad13,1", "iPad13,2", + "iPad7,1", "iPad7,2", "iPad7,3", "iPad7,4", + "iPad8,1", "iPad8,3", "iPad8,5", "iPad8,7", + "iPad13,18", "iPad13,19", + "iPad14,1", "iPad14,2": + return 4096 + case "iPad8,9", "iPad8,10", "iPad8,11", "iPad8,12", + "iPad8,2", "iPad8,4", "iPad8,6", "iPad8,8": + return 6144 + case "iPad13,4", "iPad13,6", "iPad13,8", "iPad13,10", + "iPad13,16", "iPad13,17", + "iPad14,3", "iPad14,4", "iPad14,5", "iPad14,6", + "iPad14,8","iPad14,9", "iPad14,10", "iPad14,11", + "iPad16,3", "iPad16,4", "iPad16,5", "iPad16,6": + return 8192 + case "iPad13,5", "iPad13,7", "iPad13,9", "iPad13,11": + return 16384 + + // MARK: iPod + case "iPod1,1", "iPod2,1": + return 128 + case "iPod3,1", "iPod4,1": + return 256 + case "iPod5,1": + return 512 + case "iPod7,1": + return 1024 + case "iPod9,1": + return 2048 + + // MARK: Simulator + case "i386", "x86_64": + return 16384 + default: + return 16384 + } + } } From 7b3cc35594d51209ff301171b34b0ef74b53b0da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 18 Aug 2024 21:51:19 +0200 Subject: [PATCH 25/55] Limits the size of image selections to 20% of the available memory (10% when copying images to the pasteboard), Displays HUD during preparation --- piwigo/Album/AlbumViewController.swift | 2 +- .../AlbumViewController+Select.swift | 22 ++- .../AlbumViewController+Share.swift | 182 +++++++++++------- piwigo/Resources/ar.lproj/Localizable.strings | 1 + piwigo/Resources/da.lproj/Localizable.strings | 1 + piwigo/Resources/de.lproj/Localizable.strings | 1 + piwigo/Resources/en.lproj/Localizable.strings | 1 + piwigo/Resources/es.lproj/Localizable.strings | 1 + piwigo/Resources/fr.lproj/Localizable.strings | 1 + piwigo/Resources/hu.lproj/Localizable.strings | 1 + piwigo/Resources/id.lproj/Localizable.strings | 1 + piwigo/Resources/it.lproj/Localizable.strings | 1 + piwigo/Resources/ja.lproj/Localizable.strings | 1 + piwigo/Resources/nl.lproj/Localizable.strings | 1 + piwigo/Resources/pl.lproj/Localizable.strings | 1 + .../Resources/pl.lproj/ReleaseNotes.strings | 2 +- piwigo/Resources/ru.lproj/Localizable.strings | 1 + piwigo/Resources/sv.lproj/Localizable.strings | 1 + .../zh-Hans.lproj/Localizable.strings | 1 + .../zh-Hant.lproj/Localizable.strings | 1 + .../en.lproj/PrivacyPolicy.strings | 2 +- 21 files changed, 147 insertions(+), 79 deletions(-) diff --git a/piwigo/Album/AlbumViewController.swift b/piwigo/Album/AlbumViewController.swift index 261bc6d34..c4fb07d2e 100644 --- a/piwigo/Album/AlbumViewController.swift +++ b/piwigo/Album/AlbumViewController.swift @@ -102,7 +102,7 @@ class AlbumViewController: UIViewController // MARK: - Cached Values - private var timeCounter = CFAbsoluteTime(0) + var timeCounter = CFAbsoluteTime(0) lazy var thumbSize = pwgImageSize(rawValue: AlbumVars.shared.defaultAlbumThumbnailSize) ?? .medium lazy var albumCellSize: CGSize = getAlbumCellSize() lazy var albumPlaceHolder = UIImage(named: "placeholder")! diff --git a/piwigo/Album/Extensions/AlbumViewController+Select.swift b/piwigo/Album/Extensions/AlbumViewController+Select.swift index 4c6569b08..0a87f4671 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Select.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Select.swift @@ -329,7 +329,18 @@ extension AlbumViewController case .delete /* Distinguish orphanes and ask for confirmation */: askDeleteConfirmation() case .share /* Check Photo Library access rights */: - checkPhotoLibraryAccessBeforeShare() + // Display or update HUD + if navigationController?.isShowingHUD() ?? false { + navigationController?.updateHUD(title: NSLocalizedString("loadingHUD_label", comment: "Loading…"), + inMode: .indeterminate) + } else if selectedImageIds.count > 200 { + navigationController?.showHUD(withTitle: NSLocalizedString("loadingHUD_label", comment: "Loading…"), + inMode: .indeterminate) + } + // Prepare items to share in background queue + DispatchQueue(label: "org.piwigo.share", qos: .userInitiated).async { + self.checkPhotoLibraryAccessBeforeShare() + } case .copyImages /* Copy images to Album */: copyImagesToAlbum() case .moveImages /* Move images to album */: @@ -349,8 +360,13 @@ extension AlbumViewController // Get image ID if any guard let imageId = selectedImageIdsLoop.first else { DispatchQueue.main.async { - self.navigationController?.hideHUD() { [self] in - doAction(action) + if action == .share { + // Update or display HUD + self.doAction(action) + } else { + self.navigationController?.hideHUD() { [self] in + doAction(action) + } } } return diff --git a/piwigo/Album/Extensions/AlbumViewController+Share.swift b/piwigo/Album/Extensions/AlbumViewController+Share.swift index ef40e950f..4a5ace129 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Share.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Share.swift @@ -61,97 +61,133 @@ extension AlbumViewController func presentShareImageViewController(withCameraRollAccess hasCameraRollAccess: Bool) { // To exclude some activity types - var excludedActivityTypes = [UIActivity.ActivityType]() + var hasVideoItem = false + var totalSize = Int64.zero // Create new activity provider items to pass to the activity view controller - totalNumberOfImages = selectedImageIds.count var itemsToShare: [UIActivityItemProvider] = [] + + // Loop over the selected images +// timeCounter = CFAbsoluteTimeGetCurrent() for selectedImageId in selectedImageIds { - guard let selectedImage = (images.fetchedObjects ?? []).first(where: {$0.pwgID == selectedImageId}) - else { continue } - if selectedImage.isVideo { - // Case of a video - let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: selectedImage) - - // Use delegation to monitor the progress of the item method - videoItemProvider.delegate = self - - // Add to list of items to share - itemsToShare.append(videoItemProvider) - - // Exclude "assign to contact" activity - excludedActivityTypes.append(.assignToContact) - - } else { - // Case of an image - let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: selectedImage) - - // Use delegation to monitor the progress of the item method - imageItemProvider.delegate = self - - // Add to list of items to share - itemsToShare.append(imageItemProvider) + autoreleasepool { + if let selectedImage = (images.fetchedObjects ?? []).first(where: {$0.pwgID == selectedImageId}) { + if selectedImage.isVideo { + // Case of a video + let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: selectedImage) + + // Use delegation to monitor the progress of the item method + videoItemProvider.delegate = self + + // Add to list of items to share + itemsToShare.append(videoItemProvider) + + // To exclude some activities + hasVideoItem = true + totalSize += selectedImage.fileSize + } + else { + // Case of an image + let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: selectedImage) + + // Use delegation to monitor the progress of the item method + imageItemProvider.delegate = self + + // Add to list of items to share + itemsToShare.append(imageItemProvider) + + // To exclude some activities + totalSize += selectedImage.fileSize + } + } } } +// let duration = (CFAbsoluteTimeGetCurrent() - timeCounter)*1000 +// print("••> completed in \(duration.rounded()) ms") - // Create an activity view controller with the activity provider item. - // ShareImageActivityItemProvider's superclass conforms to the UIActivityItemSource protocol - let activityViewController = UIActivityViewController(activityItems: itemsToShare, applicationActivities: nil) + // Close HUD if needed + DispatchQueue.main.async { + self.navigationController?.hideHUD { [self] in + // Check that the items size is acceptable for the device + let count = itemsToShare.count + let deviceMemory = UIDevice.current.modelMemorySize * 1024 * 1024 + if totalSize * 5 > deviceMemory { // i.e. 20% of available memory + let title = NSLocalizedString("shareFailError_title", comment: "Share Fail") + let message = NSLocalizedString("shareFailError_tooLarge", comment: "Selection too large to share") + let error = ByteCountFormatter.string(fromByteCount: totalSize, countStyle: .file) + self.navigationController?.dismissPiwigoError(withTitle: title, message: message, errorMessage: error ) { } + return + } + + // Create an activity view controller with the activity provider item. + // ShareImageActivityItemProvider's superclass conforms to the UIActivityItemSource protocol + let activityViewController = UIActivityViewController(activityItems: itemsToShare, applicationActivities: nil) - // Exclude camera roll activity if needed - if !hasCameraRollAccess { - // Exclude "camera roll" activity when the Photo Library is not accessible - excludedActivityTypes.append(.saveToCameraRoll) - } - activityViewController.excludedActivityTypes = Array(excludedActivityTypes) - - // Delete image/video files and remove observers after dismissing activity view controller - activityViewController.completionWithItemsHandler = { [self] activityType, completed, returnedItems, activityError in - // NSLog(@"Activity Type selected: %@", activityType); - if completed { - // NSLog(@"Selected activity was performed and returned error:%ld", (long)activityError.code); - // Delete shared files & remove observers - NotificationCenter.default.post(name: .pwgDidShare, object: nil) - - // Deselect images - cancelSelect() - - // Close HUD with success - presentedViewController?.updateHUDwithSuccess() { [self] in - presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { [self] in - // Close ActivityView - presentedViewController?.dismiss(animated: true) + // Exclude some activities if needed + var excludedActivityTypes = [UIActivity.ActivityType]() + if hasVideoItem || count > 1 { + excludedActivityTypes.append(.assignToContact) + if #available(iOS 16.4, *) { + excludedActivityTypes.append(.addToHomeScreen) } } - } else { - if activityType == nil { - // User dismissed the view controller without making a selection. - updateBarsInSelectMode() - } else { - // Check what to do with selection - if selectedImageIds.isEmpty { + if !hasCameraRollAccess { + excludedActivityTypes.append(.saveToCameraRoll) + } + if totalSize * 10 > deviceMemory { // i.e. 10% of available memory + excludedActivityTypes.append(.copyToPasteboard) + } + activityViewController.excludedActivityTypes = Array(excludedActivityTypes) + + // Delete image/video files and remove observers after dismissing activity view controller + activityViewController.completionWithItemsHandler = { [self] activityType, completed, returnedItems, activityError in + // NSLog(@"Activity Type selected: %@", activityType); + if completed { + // NSLog(@"Selected activity was performed and returned error:%ld", (long)activityError.code); + // Delete shared files & remove observers + NotificationCenter.default.post(name: .pwgDidShare, object: nil) + + // Deselect images cancelSelect() + + // Close HUD with success + presentedViewController?.updateHUDwithSuccess() { [self] in + presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { [self] in + // Close ActivityView + presentedViewController?.dismiss(animated: true) + } + } } else { - setEnableStateOfButtons(true) - } + if activityType == nil { + // User dismissed the view controller without making a selection. + updateBarsInSelectMode() + } else { + // Check what to do with selection + if selectedImageIds.isEmpty { + cancelSelect() + } else { + setEnableStateOfButtons(true) + } - // Cancel download task - NotificationCenter.default.post(name: .pwgCancelDownload, object: nil) + // Cancel download task + NotificationCenter.default.post(name: .pwgCancelDownload, object: nil) - // Delete shared file & remove observers - NotificationCenter.default.post(name: .pwgDidShare, object: nil) + // Delete shared file & remove observers + NotificationCenter.default.post(name: .pwgDidShare, object: nil) - // Close ActivityView - presentedViewController?.dismiss(animated: true) + // Close ActivityView + presentedViewController?.dismiss(animated: true) + } + } } - } - } - // Present share image activity view controller - if let parent = parent as? AlbumViewController { - activityViewController.popoverPresentationController?.barButtonItem = parent.shareBarButton + // Present share image activity view controller + if let parent = self.parent as? AlbumViewController { + activityViewController.popoverPresentationController?.barButtonItem = parent.shareBarButton + } + self.present(activityViewController, animated: true) + } } - present(activityViewController, animated: true) } @objc func cancelShareImages() { diff --git a/piwigo/Resources/ar.lproj/Localizable.strings b/piwigo/Resources/ar.lproj/Localizable.strings index e36a92a02..612b59185 100644 --- a/piwigo/Resources/ar.lproj/Localizable.strings +++ b/piwigo/Resources/ar.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Share Fail"; "shareMetadataError_message" = "Cannot strip private metadata"; +"shareFailError_tooLarge" = "Selection too large to share"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/da.lproj/Localizable.strings b/piwigo/Resources/da.lproj/Localizable.strings index cb065b4ac..7c9373942 100644 --- a/piwigo/Resources/da.lproj/Localizable.strings +++ b/piwigo/Resources/da.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Deling mislykkedes"; "shareMetadataError_message" = "Kan ikke fjerne private metadata"; +"shareFailError_tooLarge" = "Udvalget er for stort til at dele"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/de.lproj/Localizable.strings b/piwigo/Resources/de.lproj/Localizable.strings index 8ecf413ad..c890aa92f 100644 --- a/piwigo/Resources/de.lproj/Localizable.strings +++ b/piwigo/Resources/de.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Teilen fehlgeschlagen"; "shareMetadataError_message" = "Private Metadaten können nicht entfernt werden"; +"shareFailError_tooLarge" = "Auswahl zu umfangreich, um geteilt zu werden"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/en.lproj/Localizable.strings b/piwigo/Resources/en.lproj/Localizable.strings index 62181c22d..b660d1d74 100644 --- a/piwigo/Resources/en.lproj/Localizable.strings +++ b/piwigo/Resources/en.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Share Fail"; "shareMetadataError_message" = "Cannot strip private metadata"; +"shareFailError_tooLarge" = "Selection too large to share"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/es.lproj/Localizable.strings b/piwigo/Resources/es.lproj/Localizable.strings index 1e13970c7..6fd34ca3b 100644 --- a/piwigo/Resources/es.lproj/Localizable.strings +++ b/piwigo/Resources/es.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Error de compartición"; "shareMetadataError_message" = "No se pueden eliminar los metadatos privados"; +"shareFailError_tooLarge" = "Selección demasiado grande para compartir"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/fr.lproj/Localizable.strings b/piwigo/Resources/fr.lproj/Localizable.strings index 55830c948..23bc5d5de 100644 --- a/piwigo/Resources/fr.lproj/Localizable.strings +++ b/piwigo/Resources/fr.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Échec du partage"; "shareMetadataError_message" = "Impossible de supprimer les métadonnées privées"; +"shareFailError_tooLarge" = "Sélection trop volumineuse pour être partagée"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/hu.lproj/Localizable.strings b/piwigo/Resources/hu.lproj/Localizable.strings index b8a6337b6..08aa84ae2 100644 --- a/piwigo/Resources/hu.lproj/Localizable.strings +++ b/piwigo/Resources/hu.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Sikertelen megosztás"; "shareMetadataError_message" = "Nem sikerült eltávolítani a privát metaadatokat"; +"shareFailError_tooLarge" = "Túl nagy választék a megosztáshoz"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/id.lproj/Localizable.strings b/piwigo/Resources/id.lproj/Localizable.strings index 7672a4ab4..a955718e7 100644 --- a/piwigo/Resources/id.lproj/Localizable.strings +++ b/piwigo/Resources/id.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Share Fail"; "shareMetadataError_message" = "Cannot strip private metadata"; +"shareFailError_tooLarge" = "Selection too large to share"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/it.lproj/Localizable.strings b/piwigo/Resources/it.lproj/Localizable.strings index 9000693ae..4fa47e629 100644 --- a/piwigo/Resources/it.lproj/Localizable.strings +++ b/piwigo/Resources/it.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Condivisione Fallita"; "shareMetadataError_message" = "Impossibile eliminare i metadati privati"; +"shareFailError_tooLarge" = "Selezione troppo ampia per essere condivisa"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/ja.lproj/Localizable.strings b/piwigo/Resources/ja.lproj/Localizable.strings index b35451978..eb19f8a87 100644 --- a/piwigo/Resources/ja.lproj/Localizable.strings +++ b/piwigo/Resources/ja.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "共有に失敗しました"; "shareMetadataError_message" = "プライベートメタデータを取り除くことはできません"; +"shareFailError_tooLarge" = "共有するには大きすぎるセレクション"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/nl.lproj/Localizable.strings b/piwigo/Resources/nl.lproj/Localizable.strings index cd36578d0..65d5dd432 100644 --- a/piwigo/Resources/nl.lproj/Localizable.strings +++ b/piwigo/Resources/nl.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Delen mislukt"; "shareMetadataError_message" = "Kan metadata niet verwijderen"; +"shareFailError_tooLarge" = "Selectie te groot om te delen"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/pl.lproj/Localizable.strings b/piwigo/Resources/pl.lproj/Localizable.strings index afdbab3c0..a0c665291 100644 --- a/piwigo/Resources/pl.lproj/Localizable.strings +++ b/piwigo/Resources/pl.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Udostępnienie nie powiodło się"; "shareMetadataError_message" = "Nie można usunąć prywatnych metadanych"; +"shareFailError_tooLarge" = "Wybór zbyt duży, by go udostępnić"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/pl.lproj/ReleaseNotes.strings b/piwigo/Resources/pl.lproj/ReleaseNotes.strings index 2da12f2d6..3671a8d6e 100644 --- a/piwigo/Resources/pl.lproj/ReleaseNotes.strings +++ b/piwigo/Resources/pl.lproj/ReleaseNotes.strings @@ -6,7 +6,7 @@ Copyright © 2017 Piwigo.org. All rights reserved. */ -"v3.2.2_text" = "Wersja 3.2.2\n\n• Dodano opcję usuwania wybranych zdjęć/filmów zapisanych w urządzeniu.\n• Poprawki błędów"; +"v3.2.2_text" = "Wersja 3.2.2\n\n• Dodano opcję usuwania wybranych zdjęć/filmów zapisanych w urządzeniu\n• Poprawki błędów"; "v3.2.1_text" = "Wersja 3.2.1\n29 lipca 2024\n\n• Dodaje opcję wyświetlania albumów z ich opisami lub bez opisów\n• Poprawki błędów"; diff --git a/piwigo/Resources/ru.lproj/Localizable.strings b/piwigo/Resources/ru.lproj/Localizable.strings index 7609ec1ca..d66b7d5e7 100644 --- a/piwigo/Resources/ru.lproj/Localizable.strings +++ b/piwigo/Resources/ru.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Поделиться не удалось"; "shareMetadataError_message" = "Не удается разделить личные метаданные"; +"shareFailError_tooLarge" = "Выбор слишком велик, чтобы делиться им"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/sv.lproj/Localizable.strings b/piwigo/Resources/sv.lproj/Localizable.strings index ae89060e6..dbfdf3ca2 100644 --- a/piwigo/Resources/sv.lproj/Localizable.strings +++ b/piwigo/Resources/sv.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "Dela misslyckades"; "shareMetadataError_message" = "Kan inte ta bort privata metadata"; +"shareFailError_tooLarge" = "Urvalet är för stort för att dela"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/zh-Hans.lproj/Localizable.strings b/piwigo/Resources/zh-Hans.lproj/Localizable.strings index a121d7a0f..41a3de391 100644 --- a/piwigo/Resources/zh-Hans.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hans.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "分享失败"; "shareMetadataError_message" = "无法删除私有元数据"; +"shareFailError_tooLarge" = "选择太多,无法共享"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/zh-Hant.lproj/Localizable.strings b/piwigo/Resources/zh-Hant.lproj/Localizable.strings index 1b6b653d3..bccab3fb1 100644 --- a/piwigo/Resources/zh-Hant.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hant.lproj/Localizable.strings @@ -605,6 +605,7 @@ "shareFailError_title" = "分享失敗"; "shareMetadataError_message" = "無法刪除私人中繼資料"; +"shareFailError_tooLarge" = "選擇太多,無法分享"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Settings.bundle/en.lproj/PrivacyPolicy.strings b/piwigo/Settings.bundle/en.lproj/PrivacyPolicy.strings index fa4191aad..252f08d59 100644 --- a/piwigo/Settings.bundle/en.lproj/PrivacyPolicy.strings +++ b/piwigo/Settings.bundle/en.lproj/PrivacyPolicy.strings @@ -60,4 +60,4 @@ "contact_address" = "Piwigo, 42 rue des Vignes, 21800 Quetigny (France)"; -"contact_email" = "ios@piwigo.org"; +"contact_email" = "piwigo@lelievre-berna.net"; From 602584451e7eaed2651bc64d6c870938211784e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 18 Aug 2024 22:21:38 +0200 Subject: [PATCH 26/55] Displays the number of selected photos in navigation bar --- .../Extensions/AlbumViewController+Bars.swift | 40 ++++++++++++++----- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Bars.swift b/piwigo/Album/Extensions/AlbumViewController+Bars.swift index 83e41a155..e1af9a00d 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Bars.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Bars.swift @@ -287,6 +287,7 @@ extension AlbumViewController } func updateBarsInSelectMode() { + setTitleViewFromAlbumData(whileUpdating: false) let hasImagesSelected = !selectedImageIds.isEmpty cancelBarButton.isEnabled = true @@ -377,17 +378,38 @@ extension AlbumViewController titleLabel.sizeToFit() // There is no subtitle in landscape mode on iPhone - var lastUpdated = "" + var subtitle = "" if !(UIDevice.current.userInterfaceIdiom == .phone && UIApplication.shared.statusBarOrientation.isLandscape) { if isUpdating { // Inform user that the app is fetching album data - lastUpdated = NSLocalizedString("categoryUpdating", comment: "Updating…") + subtitle = NSLocalizedString("categoryUpdating", comment: "Updating…") + } + else if isSelect { + let nberPhotos = selectedImageIds.count + switch nberPhotos { + case 0: + subtitle = NSLocalizedString("selectImages", comment: "Select Photos") + case 1: + subtitle = NSLocalizedString("selectImageSelected", comment: "1 Photo Selected") + case 2...nberPhotos: + var nberPhotosStr = "" + if #available(iOS 16, *) { + nberPhotosStr = nberPhotos.formatted(.number) + } else { + let numberFormatter = NumberFormatter() + numberFormatter.numberStyle = NumberFormatter.Style.decimal + nberPhotosStr = numberFormatter.string(from: NSNumber(value: nberPhotos)) ?? String(nberPhotos) + } + subtitle = String(format: NSLocalizedString("selectImagesSelected", comment: "%@ Photos Selected"), nberPhotosStr) + default: + subtitle = "" + } } else if albumData.dateGetImages > TimeInterval(86400) { // i.e. a day after minimum date let dateGetImages = Date(timeIntervalSinceReferenceDate: albumData.dateGetImages) if Date().timeIntervalSinceReferenceDate - albumData.dateGetImages < 60 { - lastUpdated = NSLocalizedString("categoryUpdatedNow", comment: "Updated just now") + subtitle = NSLocalizedString("categoryUpdatedNow", comment: "Updated just now") } else { let calendar = Calendar.current let updatedDay = calendar.dateComponents([.day], from: dateGetImages) @@ -396,21 +418,21 @@ extension AlbumViewController // Album data updated today let time = DateFormatter.localizedString(from: dateGetImages, dateStyle: .none, timeStyle: .short) - lastUpdated = String(format: NSLocalizedString("categoryUpdatedAt", - comment: "Updated at…"), time) + subtitle = String(format: NSLocalizedString("categoryUpdatedAt", + comment: "Updated at…"), time) } else { // Album data updated yesterday or before let date = DateFormatter.localizedString(from: dateGetImages, dateStyle: .short, timeStyle: .none) - lastUpdated = String(format: NSLocalizedString("categoryUpdatedOn", - comment: "Updated on…"), date) + subtitle = String(format: NSLocalizedString("categoryUpdatedOn", + comment: "Updated on…"), date) } } } } // Prepare sub-title - if lastUpdated.isEmpty == false { + if subtitle.isEmpty == false { let subTitleLabel = UILabel(frame: CGRect(x: 0.0, y: titleLabel.frame.size.height, width: 0, height: 0)) subTitleLabel.backgroundColor = UIColor.clear subTitleLabel.textColor = .piwigoColorWhiteCream() @@ -421,7 +443,7 @@ extension AlbumViewController subTitleLabel.adjustsFontSizeToFitWidth = false subTitleLabel.lineBreakMode = .byTruncatingTail subTitleLabel.allowsDefaultTighteningForTruncation = true - subTitleLabel.text = lastUpdated + subTitleLabel.text = subtitle subTitleLabel.sizeToFit() var titleWidth = CGFloat(fmax(subTitleLabel.bounds.size.width, titleLabel.bounds.size.width)) From d4277a5c2e67c01879da03e39e648f8439e768e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:33:28 +0200 Subject: [PATCH 27/55] Creates class for previewing photos with a context menu --- .../ImagePreviewViewController.swift | 97 +++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 piwigo/Album/ImageCollection/ImagePreviewViewController.swift diff --git a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift new file mode 100644 index 000000000..fe9340eb6 --- /dev/null +++ b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift @@ -0,0 +1,97 @@ +// +// ImagePreviewViewController.swift +// piwigo +// +// Created by Eddy Lelièvre-Berna on 19/08/2024. +// Copyright © 2024 Piwigo.org. All rights reserved. +// + +import Foundation +import UIKit +import piwigoKit + +class ImagePreviewViewController: UIViewController +{ + private var aspectRatio = 1.0 + private let imageView = UIImageView() + + init(imageData: Image) { + super.init(nibName: nil, bundle: nil) + + // Retrieve image + let viewSize = view.bounds.size + let scale = view.traitCollection.displayScale + aspectRatio = imageData.fullRes?.aspectRatio ?? imageData.sizes.medium?.aspectRatio ?? imageData.sizes.thumb?.aspectRatio ?? 1.0 + debugPrint("aspect ratio: \(aspectRatio)") + var previewSize = pwgImageSize(rawValue: ImageVars.shared.defaultImagePreviewSize) ?? .medium + if imageData.isVideo, previewSize == .fullRes { + previewSize = .xxLarge + } + + // Check if we already have the high-resolution image in cache + if let wantedImage = imageData.cachedThumbnail(ofSize: previewSize) { + // Show high-resolution image in cache + let cachedImage = ImageUtilities.downsample(image: wantedImage, to: viewSize, scale: scale) + setImageView(with: cachedImage) + } else { + // Display thumbnail image which should be in cache + let placeHolder = UIImage(named: "unknownImage")! + let thumbSize = pwgImageSize(rawValue: AlbumVars.shared.defaultThumbnailSize) ?? .thumb + self.setImageView(with: imageData.cachedThumbnail(ofSize: thumbSize) ?? placeHolder) + + // Download high-resolution image + if let imageURL = ImageUtilities.getURL(imageData, ofMinSize: previewSize) { + PwgSession.shared.getImage(withID: imageData.pwgID, ofSize: previewSize, atURL: imageURL, + fromServer: imageData.server?.uuid, fileSize: imageData.fileSize, + placeHolder: placeHolder) { fractionCompleted in + DispatchQueue.main.async { + // Show download progress +// self.progressView.progress = fractionCompleted + } + } completion: { cachedImageURL in + let cachedImage = ImageUtilities.downsample(imageAt: cachedImageURL, to: viewSize, scale: scale) + DispatchQueue.main.async { + // Hide progress view +// self.progressView.isHidden = true + // Replace thumbnail with high-resolution image + self.setImageView(with: cachedImage) + } + } failure: { _ in } + } + } + + } + + private func setImageView(with image: UIImage) { + imageView.image = image + imageView.frame.size = image.size + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + override func viewDidLoad() { + super.viewDidLoad() + + imageView.clipsToBounds = true + imageView.contentMode = .scaleAspectFit + imageView.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(imageView) + + NSLayoutConstraint.activate([ + imageView.leftAnchor.constraint(equalTo: view.leftAnchor), + imageView.rightAnchor.constraint(equalTo: view.rightAnchor), + imageView.topAnchor.constraint(equalTo: view.topAnchor), + imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor), + ]) + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + + let width = view.bounds.width + let height = width * aspectRatio + preferredContentSize = CGSize(width: width, height: height) + } +} From aeb4a3ff2a28d3d96fb1b12d6e57b732ded022fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:34:04 +0200 Subject: [PATCH 28/55] Adds aspectRatio variable to Resolution class --- piwigoKit/Data Cache/Image Data/ImageResolution.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/piwigoKit/Data Cache/Image Data/ImageResolution.swift b/piwigoKit/Data Cache/Image Data/ImageResolution.swift index 586c643b4..d02ce0430 100644 --- a/piwigoKit/Data Cache/Image Data/ImageResolution.swift +++ b/piwigoKit/Data Cache/Image Data/ImageResolution.swift @@ -66,4 +66,12 @@ extension Resolution { public var maxSize: Int { return max(self.width, self.height) } + + public var aspectRatio: Double? { + if height != 0 { + return Double(height) / Double(width) + } else { + return nil + } + } } From 13c932bc5e888cd34c5d1a5070cb6a1761a46312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:35:47 +0200 Subject: [PATCH 29/55] Ensures that the aspectRatio is set before showing the view --- .../LocalImagePreviewViewController.swift | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift b/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift index f9e8dbf13..ca16085d4 100644 --- a/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift +++ b/piwigo/Upload/Pick Local Images/LocalImagePreviewViewController.swift @@ -12,10 +12,10 @@ import UIKit class LocalImagePreviewViewController: UIViewController { private var aspectRatio = 1.0 private let imageView = UIImageView() - + init(imageAsset: PHAsset, pixelSize: CGSize) { super.init(nibName: nil, bundle: nil) - + // Retrieve image aspectRatio = Double(imageAsset.pixelHeight) / Double(imageAsset.pixelWidth) let options = PHImageRequestOptions() @@ -47,19 +47,23 @@ class LocalImagePreviewViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - + imageView.clipsToBounds = true imageView.contentMode = .scaleAspectFit imageView.translatesAutoresizingMaskIntoConstraints = false view.addSubview(imageView) - + NSLayoutConstraint.activate([ imageView.leftAnchor.constraint(equalTo: view.leftAnchor), imageView.rightAnchor.constraint(equalTo: view.rightAnchor), imageView.topAnchor.constraint(equalTo: view.topAnchor), imageView.bottomAnchor.constraint(equalTo: view.bottomAnchor), ]) - + } + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + let width = view.bounds.width let height = width * aspectRatio preferredContentSize = CGSize(width: width, height: height) From cad29ec57c3b08e302085a32ca32e3750131aa7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:36:54 +0200 Subject: [PATCH 30/55] Presents delete action separatly in the contextual menu --- .../LocalImagesViewController+Delegate.swift | 11 +++++++++-- .../Pick Local Images/LocalImagesViewController.swift | 10 +++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift index c4a9f181e..053ae8256 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift @@ -97,7 +97,7 @@ extension LocalImagesViewController: UICollectionViewDelegate children.append(self.uploaAction(forCell: cell, at: indexPath)) } if canDelete { - children.append(self.deleteAction(forCell: cell, at: indexPath)) + children.append(self.deleteMenu(forCell: cell, at: indexPath)) } return UIMenu(title: "", children: children) }) @@ -151,7 +151,7 @@ extension LocalImagesViewController: UICollectionViewDelegate children.append(self.uploaAction(forCell: cell, at: indexPath)) } if canDelete { - children.append(self.deleteAction(forCell: cell, at: indexPath)) + children.append(self.deleteMenu(forCell: cell, at: indexPath)) } return UIMenu(title: "", children: children) }) @@ -282,6 +282,13 @@ extension LocalImagesViewController: UICollectionViewDelegate } } + @available(iOS 13.0, *) + private func deleteMenu(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath) -> UIMenu { + let delete = deleteAction(forCell: cell, at: indexPath) + let menuId = UIMenu.Identifier("org.piwigo.removeFromCameraRoll") + return UIMenu(identifier: menuId, options: UIMenu.Options.displayInline, children: [delete]) + } + @available(iOS 13.0, *) private func deleteAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath) -> UIAction { return UIAction(title: NSLocalizedString("localImages_deleteTitle", comment: "Remove from Camera Roll"), diff --git a/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift b/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift index 5ccc2a33a..7a37581b4 100644 --- a/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift +++ b/piwigo/Upload/Pick Local Images/LocalImagesViewController.swift @@ -181,7 +181,7 @@ class LocalImagesViewController: UIViewController var children: [UIMenuElement?] = [swapOrderAction(), groupMenu(), selectPhotosMenu(), reUploadAction()] if UIDevice.current.userInterfaceIdiom == .phone { - children.append(deleteAction()) + children.append(deleteMenu()) } let menu = UIMenu(title: "", children: children.compactMap({$0})) actionBarButton = UIBarButtonItem(image: UIImage(systemName: "ellipsis.circle"), menu: menu) @@ -458,7 +458,7 @@ class LocalImagesViewController: UIViewController var children: [UIMenuElement?] = [swapOrderAction(), groupMenu(), selectPhotosMenu(), reUploadAction()] if UIDevice.current.userInterfaceIdiom == .phone { - children.append(deleteAction()) + children.append(deleteMenu()) } let updatedMenu = actionBarButton?.menu?.replacingChildren(children.compactMap({$0})) actionBarButton?.menu = updatedMenu @@ -741,7 +741,7 @@ class LocalImagesViewController: UIViewController // MARK: - Delete Camera Roll Images @available(iOS 14.0, *) - private func deleteAction() -> UIAction? { + private func deleteMenu() -> UIMenu? { // Check if there are already uploaded photos that can be deleted if canDeleteUploadedImages() == false, canDeleteSelectedImages() == false { return nil } @@ -752,8 +752,8 @@ class LocalImagesViewController: UIViewController // Delete uploaded photos from the camera roll self.deleteUploadedImages() }) - delete.accessibilityIdentifier = "org.piwigo.removeFromCameraRoll" - return delete + let menuId = UIMenu.Identifier("org.piwigo.removeFromCameraRoll") + return UIMenu(identifier: menuId, options: UIMenu.Options.displayInline, children: [delete]) } @objc func deleteUploadedImages() { From 1c5035cad7a7918b8eb161caf8dc28a3d1721e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:38:05 +0200 Subject: [PATCH 31/55] Increment version following the Resolution class update --- piwigoKit/Info.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index e3a8d9882..45e5035d6 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 3.2.1 + 3.2.2 CFBundleVersion 588 From 212734f2907a4859d3d5d1aead15da3fe48cfae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:39:14 +0200 Subject: [PATCH 32/55] Disables the progress view for now --- .../Album/ImageCollection/ImagePreviewViewController.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift index fe9340eb6..f590479fd 100644 --- a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift +++ b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift @@ -44,10 +44,10 @@ class ImagePreviewViewController: UIViewController PwgSession.shared.getImage(withID: imageData.pwgID, ofSize: previewSize, atURL: imageURL, fromServer: imageData.server?.uuid, fileSize: imageData.fileSize, placeHolder: placeHolder) { fractionCompleted in - DispatchQueue.main.async { - // Show download progress +// DispatchQueue.main.async { +// // Show download progress // self.progressView.progress = fractionCompleted - } +// } } completion: { cachedImageURL in let cachedImage = ImageUtilities.downsample(imageAt: cachedImageURL, to: viewSize, scale: scale) DispatchQueue.main.async { @@ -59,7 +59,6 @@ class ImagePreviewViewController: UIViewController } failure: { _ in } } } - } private func setImageView(with image: UIImage) { From 894e385b7991b4d00be55e67b7b91079a9fed703 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 16:40:23 +0200 Subject: [PATCH 33/55] Adds contextual menu for selecting images individually in collection view --- piwigo.xcodeproj/project.pbxproj | 4 + .../AlbumViewController+Delegate.swift | 125 ++++++++++++++++++ 2 files changed, 129 insertions(+) diff --git a/piwigo.xcodeproj/project.pbxproj b/piwigo.xcodeproj/project.pbxproj index f08bc67a0..e22d64799 100644 --- a/piwigo.xcodeproj/project.pbxproj +++ b/piwigo.xcodeproj/project.pbxproj @@ -160,6 +160,7 @@ AD2D959A27D7F14900AC1FD8 /* AppLockViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AD2D959927D7F14900AC1FD8 /* AppLockViewController.storyboard */; }; AD30FD3721316DA8009AA30E /* piwigoScreenshots.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD30FD3621316DA8009AA30E /* piwigoScreenshots.swift */; }; AD311FFA27CB7B730044AC5A /* LoginViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AD311FF927CB7B730044AC5A /* LoginViewController.storyboard */; }; + AD31A73F2C736A9800B37B19 /* ImagePreviewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD31A73E2C736A9800B37B19 /* ImagePreviewViewController.swift */; }; AD31F5F5242FA75C00BD65FC /* AboutViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD31F5F4242FA75C00BD65FC /* AboutViewController.swift */; }; AD31F5F7242FABF300BD65FC /* ReleaseNotesViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AD31F5F6242FABF300BD65FC /* ReleaseNotesViewController.storyboard */; }; AD31F5F9242FB76900BD65FC /* ReleaseNotesViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD31F5F8242FB76800BD65FC /* ReleaseNotesViewController.swift */; }; @@ -759,6 +760,7 @@ AD30FD3621316DA8009AA30E /* piwigoScreenshots.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = piwigoScreenshots.swift; sourceTree = ""; }; AD30FD3821316DA8009AA30E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; AD311FF927CB7B730044AC5A /* LoginViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = LoginViewController.storyboard; sourceTree = ""; }; + AD31A73E2C736A9800B37B19 /* ImagePreviewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ImagePreviewViewController.swift; sourceTree = ""; }; AD31F5F4242FA75C00BD65FC /* AboutViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AboutViewController.swift; sourceTree = ""; }; AD31F5F6242FABF300BD65FC /* ReleaseNotesViewController.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = ReleaseNotesViewController.storyboard; sourceTree = ""; }; AD31F5F8242FB76800BD65FC /* ReleaseNotesViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReleaseNotesViewController.swift; sourceTree = ""; }; @@ -1447,6 +1449,7 @@ ADBC08CD244604EB00BF82E8 /* ImageFooterReusableView.swift */, AD211A7527A85EDB005D5E4F /* ImageCollectionViewCell.swift */, AD211A7727AB1FA8005D5E4F /* ImageCollectionViewCell.xib */, + AD31A73E2C736A9800B37B19 /* ImagePreviewViewController.swift */, ); path = ImageCollection; sourceTree = ""; @@ -3497,6 +3500,7 @@ ADE03D2E25FCBA4B002F5C7B /* ColorPaletteViewControllerOld.swift in Sources */, AD6A0E782C445C750089A25E /* AlbumCollectionViewCell.swift in Sources */, AD9698262BE6661D00520614 /* AlbumViewController+Search.swift in Sources */, + AD31A73F2C736A9800B37B19 /* ImagePreviewViewController.swift in Sources */, ADDB2A6D2B416F5800FDC1B1 /* EditImageParamsViewController+UITableView.swift in Sources */, ADC69F25285DF50C009BF9AF /* TagSelectorViewController+Search.swift in Sources */, ADBE0C2D2BE963CD00F16A50 /* AlbumViewController+Delete.swift in Sources */, diff --git a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift index 11e98c8db..b380ecf94 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift @@ -8,6 +8,7 @@ import Foundation import UIKit +import piwigoKit // MARK: UICollectionViewDelegate Methods extension AlbumViewController: UICollectionViewDelegate @@ -123,6 +124,21 @@ extension AlbumViewController: UICollectionViewDelegate return self.albumContextMenu(indexPath) } } + else if indexPath.section > 0, + let cell = collectionView.cellForItem(at: indexPath) as? ImageCollectionViewCell, + let imageData = cell.imageData { + // Return context menu configuration + let identifier = NSString(string: "\(imageData.pwgID)") + return UIContextMenuConfiguration(identifier: identifier, + previewProvider: { + // Create preview view controller + return ImagePreviewViewController(imageData: imageData) + }, + actionProvider: { suggestedActions in + // Present context menu + return self.imageContextMenu(forCell: cell, imageData: imageData, at: indexPath) + }) + } return nil } @@ -139,9 +155,25 @@ extension AlbumViewController: UICollectionViewDelegate return self.albumContextMenu(indexPath) }) } + else if indexPaths.count == 1, let indexPath = indexPaths.first, indexPath.section > 0, + let cell = collectionView.cellForItem(at: indexPath) as? ImageCollectionViewCell, + let imageData = cell.imageData { + // Return context menu configuration + return UIContextMenuConfiguration(identifier: nil, + previewProvider: { + // Create preview view controller + return ImagePreviewViewController(imageData: imageData) + }, + actionProvider: { suggestedActions in + // Present context menu + return self.imageContextMenu(forCell: cell, imageData: imageData, at: indexPath) + }) + } return nil } + + // MARK: - Album Context Menu @available(iOS 13.0, *) private func albumContextMenu(_ indexPath: IndexPath) -> UIMenu { let renameAction = self.renameAlbumAction(indexPath) @@ -190,4 +222,97 @@ extension AlbumViewController: UICollectionViewDelegate delete.displayAlert { _ in } } } + + // MARK: - Image Context Menu + @available(iOS 13.0, *) + private func imageContextMenu(forCell cell: ImageCollectionViewCell, imageData: Image, + at indexPath: IndexPath) -> UIMenu { + var children = [UIMenuElement]() + if let imageID = cell.imageData?.pwgID { + if self.selectedImageIds.contains(imageID) { + // Image not selected ► Propose to select it + children.append(deselectImageAction(forCell: cell, imageID: imageID, at: indexPath)) + } else { + // Image selected ► Propose to deselect it + children.append(selectImageAction(forCell: cell, imageID: imageID, at: indexPath)) + } + } + return UIMenu(title: "", children: children) + } + + @available(iOS 13.0, *) + private func selectImageAction(forCell cell: ImageCollectionViewCell, imageID: Int64, + at indexPath: IndexPath) -> UIAction { + // Image not selected ► Propose to select it + return UIAction(title: NSLocalizedString("categoryImageList_selectButton", comment: "Select"), + image: UIImage(systemName: "checkmark.circle")) { _ in + // Select image + self.selectedImageIds.insert(imageID) + cell.isSelection = true + if cell.isFavorite { + self.selectedFavoriteIds.insert(imageID) + } + if cell.imageData.isVideo { + self.selectedVideosIds.insert(imageID) + } + + // Check if the selection mode is active + if self.isSelect { + // Update the navigation bar and title view + self.updateBarsInSelectMode() + } else { + // Enable the selection mode + self.isSelect = true + self.hideButtons() + self.initBarsInSelectMode() + } + + // Update state of Select button if needed + let selectState = self.updateSelectButton(ofSection: indexPath.section) + let indexPath = IndexPath(item: 0, section: indexPath.section) + if let header = self.collectionView.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? ImageHeaderReusableView { + header.selectButton.setTitle(forState: selectState) + } else if let header = self.collectionView.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? ImageOldHeaderReusableView { + header.selectButton.setTitle(forState: selectState) + } + } + } + + @available(iOS 13.0, *) + private func deselectImageAction(forCell cell: ImageCollectionViewCell, imageID: Int64, + at indexPath: IndexPath) -> UIAction { + // Image selected ► Propose to deselect it + var image: UIImage? + if #available(iOS 16, *) { + image = UIImage(systemName: "checkmark.circle.badge.xmark") + } else { + image = UIImage(systemName: "checkmark.circle") + } + return UIAction(title: NSLocalizedString("categoryImageList_deselectButton", comment: "Deselect"), + image: image) { _ in + // Deselect image + cell.isSelection = false + self.selectedImageIds.remove(imageID) + self.selectedFavoriteIds.remove(imageID) + self.selectedVideosIds.remove(imageID) + + // Check if the selection mode should be disabled + if self.selectedImageIds.isEmpty { + // Disable the selection mode + self.cancelSelect() + } else { + // Update the navigation bar and title view + self.updateBarsInSelectMode() + } + + // Update state of Select button if needed + let selectState = self.updateSelectButton(ofSection: indexPath.section) + let indexPath = IndexPath(item: 0, section: indexPath.section) + if let header = self.collectionView.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? ImageHeaderReusableView { + header.selectButton.setTitle(forState: selectState) + } else if let header = self.collectionView.supplementaryView(forElementKind: UICollectionView.elementKindSectionHeader, at: indexPath) as? ImageOldHeaderReusableView { + header.selectButton.setTitle(forState: selectState) + } + } + } } From 8c4b08d4743d45029a6143331b3f999d1bc48368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 17:49:39 +0200 Subject: [PATCH 34/55] Adds delete action to contextual menu of images --- .../AlbumViewController+Delegate.swift | 45 +++++++++++++------ .../AlbumViewController+Delete.swift | 8 ++-- .../AlbumViewController+Select.swift | 2 +- .../LocalImagesViewController+Delegate.swift | 3 +- 4 files changed, 37 insertions(+), 21 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift index b380ecf94..df77208f6 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift @@ -130,12 +130,12 @@ extension AlbumViewController: UICollectionViewDelegate // Return context menu configuration let identifier = NSString(string: "\(imageData.pwgID)") return UIContextMenuConfiguration(identifier: identifier, - previewProvider: { - // Create preview view controller - return ImagePreviewViewController(imageData: imageData) - }, - actionProvider: { suggestedActions in - // Present context menu + previewProvider: { + // Create preview view controller + return ImagePreviewViewController(imageData: imageData) + }, + actionProvider: { suggestedActions in + // Present context menu return self.imageContextMenu(forCell: cell, imageData: imageData, at: indexPath) }) } @@ -160,18 +160,18 @@ extension AlbumViewController: UICollectionViewDelegate let imageData = cell.imageData { // Return context menu configuration return UIContextMenuConfiguration(identifier: nil, - previewProvider: { - // Create preview view controller - return ImagePreviewViewController(imageData: imageData) - }, - actionProvider: { suggestedActions in - // Present context menu + previewProvider: { + // Create preview view controller + return ImagePreviewViewController(imageData: imageData) + }, + actionProvider: { suggestedActions in + // Present context menu return self.imageContextMenu(forCell: cell, imageData: imageData, at: indexPath) }) } return nil } - + // MARK: - Album Context Menu @available(iOS 13.0, *) @@ -236,6 +236,7 @@ extension AlbumViewController: UICollectionViewDelegate // Image selected ► Propose to deselect it children.append(selectImageAction(forCell: cell, imageID: imageID, at: indexPath)) } + children.append(deleteImageMenu(forImageID: imageID)) } return UIMenu(title: "", children: children) } @@ -295,7 +296,7 @@ extension AlbumViewController: UICollectionViewDelegate self.selectedImageIds.remove(imageID) self.selectedFavoriteIds.remove(imageID) self.selectedVideosIds.remove(imageID) - + // Check if the selection mode should be disabled if self.selectedImageIds.isEmpty { // Disable the selection mode @@ -315,4 +316,20 @@ extension AlbumViewController: UICollectionViewDelegate } } } + + @available(iOS 13.0, *) + private func deleteImageMenu(forImageID imageID: Int64) -> UIMenu { + let delete = deleteImageAction(forImageID: imageID) + let menuId = UIMenu.Identifier("org.piwigo.removeFromCameraRoll") + return UIMenu(identifier: menuId, options: UIMenu.Options.displayInline, children: [delete]) + } + + @available(iOS 13.0, *) + private func deleteImageAction(forImageID imageID: Int64) -> UIAction { + // Image selected ► Propose to deselect it + return UIAction(title: NSLocalizedString("deleteSingleImage_title", comment: "Delete Photo"), + image: UIImage(systemName: "trash"), attributes: .destructive) { _ in + self.askDeleteConfirmation(for: Set([imageID])) + } + } } diff --git a/piwigo/Album/Extensions/AlbumViewController+Delete.swift b/piwigo/Album/Extensions/AlbumViewController+Delete.swift index 16895d3fc..1e558e18c 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delete.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delete.swift @@ -19,12 +19,12 @@ extension AlbumViewController } - // MARK: - Delete Images + // MARK: - Delete or Remove Images @objc func deleteSelection() { initSelection(beforeAction: .delete) } - func askDeleteConfirmation() { + func askDeleteConfirmation(for selectedImageIds: Set) { // Split orphaned and non-orphaned images var toRemove = Set() var toDelete = Set() @@ -39,7 +39,7 @@ extension AlbumViewController } let totalNberToDelete = toDelete.count + toRemove.count - // We cannot propose to remove images from a smart albums + // We cannot propose to remove images from a smart album if albumData.pwgID < 0 { toDelete.formUnion(toRemove) toRemove = [] @@ -52,7 +52,7 @@ extension AlbumViewController } else if let imageData = toDelete.first, imageData.isVideo { msg = NSLocalizedString("deleteSingleVideo_title", comment: "Are you sure you want to delete this video?") } else { - msg = NSLocalizedString("deleteSingleImage_message", comment: "Are you sure you want to delete this image?") + msg = NSLocalizedString("deleteSingleImage_message", comment: "Are you sure you want to delete this photo?") } let alert = UIAlertController(title: nil, message: msg, preferredStyle: .actionSheet) diff --git a/piwigo/Album/Extensions/AlbumViewController+Select.swift b/piwigo/Album/Extensions/AlbumViewController+Select.swift index 0a87f4671..684024b1d 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Select.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Select.swift @@ -327,7 +327,7 @@ extension AlbumViewController case .edit /* Edit images parameters */: editImages() case .delete /* Distinguish orphanes and ask for confirmation */: - askDeleteConfirmation() + askDeleteConfirmation(for: selectedImageIds) case .share /* Check Photo Library access rights */: // Display or update HUD if navigationController?.isShowingHUD() ?? false { diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift index 053ae8256..1c9fd1c7d 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+Delegate.swift @@ -292,8 +292,7 @@ extension LocalImagesViewController: UICollectionViewDelegate @available(iOS 13.0, *) private func deleteAction(forCell cell: LocalImageCollectionViewCell, at indexPath: IndexPath) -> UIAction { return UIAction(title: NSLocalizedString("localImages_deleteTitle", comment: "Remove from Camera Roll"), - image: UIImage(systemName: "trash"), - attributes: .destructive) { action in + image: UIImage(systemName: "trash"), attributes: .destructive) { action in // Get image identifier and check if this image has been uploaded if let upload = (self.uploads.fetchedObjects ?? []).filter({$0.localIdentifier == cell.localIdentifier}).first { // Delete uploaded image From f75db27c4796c985d40261e11d7bdcabf41d0657 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Mon, 19 Aug 2024 19:51:15 +0200 Subject: [PATCH 35/55] Adds "add photos" action to album contextual menu, updates translations --- .../AlbumViewController+Delegate.swift | 45 ++++++++++++++++--- .../AlbumViewController+Upload.swift | 10 +++-- piwigo/Resources/ar.lproj/Localizable.strings | 1 + piwigo/Resources/da.lproj/Localizable.strings | 7 +-- piwigo/Resources/de.lproj/Localizable.strings | 7 +-- piwigo/Resources/en.lproj/Localizable.strings | 7 +-- piwigo/Resources/es.lproj/Localizable.strings | 7 +-- piwigo/Resources/fr.lproj/Localizable.strings | 7 +-- piwigo/Resources/hu.lproj/Localizable.strings | 7 +-- piwigo/Resources/id.lproj/Localizable.strings | 1 + piwigo/Resources/it.lproj/Localizable.strings | 7 +-- piwigo/Resources/ja.lproj/Localizable.strings | 7 +-- piwigo/Resources/nl.lproj/Localizable.strings | 7 +-- piwigo/Resources/pl.lproj/Localizable.strings | 7 +-- piwigo/Resources/ru.lproj/Localizable.strings | 7 +-- piwigo/Resources/sv.lproj/Localizable.strings | 7 +-- .../zh-Hans.lproj/Localizable.strings | 7 +-- .../zh-Hant.lproj/Localizable.strings | 7 +-- 18 files changed, 103 insertions(+), 52 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift index df77208f6..c5bcbe4d0 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift @@ -176,15 +176,38 @@ extension AlbumViewController: UICollectionViewDelegate // MARK: - Album Context Menu @available(iOS 13.0, *) private func albumContextMenu(_ indexPath: IndexPath) -> UIMenu { - let renameAction = self.renameAlbumAction(indexPath) - let moveAction = self.moveAlbumAction(indexPath) - let deleteAction = self.deleteAlbumAction(indexPath) - return UIMenu(title: "", children: [renameAction, moveAction, deleteAction]) + let addPhotos = self.addPhotosMenu(indexPath) + let rename = self.renameAlbumAction(indexPath) + let move = self.moveAlbumAction(indexPath) + let delete = self.deleteAlbumMenu(indexPath) + return UIMenu(title: "", children: [addPhotos, rename, move, delete]) + } + + @available(iOS 13.0, *) + private func addPhotosMenu(_ indexPath: IndexPath) -> UIMenu { + let addPhotos = addPhotosAction(indexPath) + let menuId = UIMenu.Identifier("org.piwigo.addPhotos") + return UIMenu(identifier: menuId, options: UIMenu.Options.displayInline, children: [addPhotos]) + } + + @available(iOS 13.0, *) + private func addPhotosAction(_ indexPath: IndexPath) -> UIAction { + return UIAction(title: NSLocalizedString("categoryCellOption_addPhotos", comment: "Add Photos"), + image: UIImage(named: "imageUpload")) { action in + // Push album view + let albumData = self.albums.object(at: indexPath) + let albumSB = UIStoryboard(name: "AlbumViewController", bundle: nil) + guard let subAlbumVC = albumSB.instantiateViewController(withIdentifier: "AlbumViewController") as? AlbumViewController + else { preconditionFailure("Could not load AlbumViewController") } + subAlbumVC.categoryId = albumData.pwgID + self.pushAlbumView(subAlbumVC) { _ in } + subAlbumVC.checkPhotoLibraryAccess() + } } @available(iOS 13.0, *) private func renameAlbumAction(_ indexPath: IndexPath) -> UIAction { - return UIAction(title: NSLocalizedString("categoryCellOption_rename", comment: "Rename"), + return UIAction(title: NSLocalizedString("categoryCellOption_rename", comment: "Rename Album"), image: UIImage(systemName: "character.cursor.ibeam")) { action in guard let topViewController = self.navigationController else { return } @@ -197,7 +220,7 @@ extension AlbumViewController: UICollectionViewDelegate @available(iOS 13.0, *) private func moveAlbumAction(_ indexPath: IndexPath) -> UIAction { - return UIAction(title: NSLocalizedString("categoryCellOption_move", comment: "Move"), + return UIAction(title: NSLocalizedString("categoryCellOption_move", comment: "Move Album"), image: UIImage(systemName: "arrowshape.turn.up.left")) { action in let moveSB = UIStoryboard(name: "SelectCategoryViewController", bundle: nil) guard let moveVC = moveSB.instantiateViewController(withIdentifier: "SelectCategoryViewController") as? SelectCategoryViewController else { return } @@ -209,9 +232,16 @@ extension AlbumViewController: UICollectionViewDelegate } } + @available(iOS 13.0, *) + private func deleteAlbumMenu(_ indexPath: IndexPath) -> UIMenu { + let delete = deleteAlbumAction(indexPath) + let menuId = UIMenu.Identifier("org.piwigo.deleteAlbum") + return UIMenu(identifier: menuId, options: UIMenu.Options.displayInline, children: [delete]) + } + @available(iOS 13.0, *) private func deleteAlbumAction(_ indexPath: IndexPath) -> UIAction { - return UIAction(title: NSLocalizedString("categoryCellOption_delete", comment: "Delete"), + return UIAction(title: NSLocalizedString("categoryCellOption_delete", comment: "Delete Album"), image: UIImage(systemName: "trash"), attributes: .destructive) { action in guard let topViewController = self.navigationController @@ -223,6 +253,7 @@ extension AlbumViewController: UICollectionViewDelegate } } + // MARK: - Image Context Menu @available(iOS 13.0, *) private func imageContextMenu(forCell cell: ImageCollectionViewCell, imageData: Image, diff --git a/piwigo/Album/Extensions/AlbumViewController+Upload.swift b/piwigo/Album/Extensions/AlbumViewController+Upload.swift index b5f65be8b..603735df0 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Upload.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Upload.swift @@ -15,6 +15,13 @@ extension AlbumViewController // MARK: - Upload Actions @objc func didTapUploadImagesButton() { // Check autorisation to access Photo Library before uploading + checkPhotoLibraryAccess() + + // Hide CreateAlbum and UploadImages buttons + didCancelTapAddButton() + } + + func checkPhotoLibraryAccess() { if #available(iOS 14, *) { PhotosFetch.shared.checkPhotoLibraryAuthorizationStatus(for: PHAccessLevel.readWrite, for: self, onAccess: { [self] in // Open local albums view controller in new navigation controller @@ -27,9 +34,6 @@ extension AlbumViewController self.presentLocalAlbums() }, onDeniedAccess: { }) } - - // Hide CreateAlbum and UploadImages buttons - didCancelTapAddButton() } private func presentLocalAlbums() { diff --git a/piwigo/Resources/ar.lproj/Localizable.strings b/piwigo/Resources/ar.lproj/Localizable.strings index 612b59185..4202a80a7 100644 --- a/piwigo/Resources/ar.lproj/Localizable.strings +++ b/piwigo/Resources/ar.lproj/Localizable.strings @@ -241,6 +241,7 @@ "createAlbumError_message" = "فشل إنشاء ألبوم جديد"; // Album options (swipe actions) +"categoryCellOption_addPhotos" = "Add Photos"; "categoryCellOption_rename" = "إعادة التسمية"; "categoryCellOption_move" = "نقل"; "categoryCellOption_delete" = "حذف"; diff --git a/piwigo/Resources/da.lproj/Localizable.strings b/piwigo/Resources/da.lproj/Localizable.strings index 7c9373942..8e77e98e2 100644 --- a/piwigo/Resources/da.lproj/Localizable.strings +++ b/piwigo/Resources/da.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Kunne ikke oprette nyt album"; // Album options (swipe actions) -"categoryCellOption_rename" = "Omdøb"; -"categoryCellOption_move" = "Flyt"; -"categoryCellOption_delete" = "Slet"; +"categoryCellOption_addPhotos" = "Tilføj fotos"; +"categoryCellOption_rename" = "Omdøb albummet"; +"categoryCellOption_move" = "Flyt album"; +"categoryCellOption_delete" = "Slet album"; // Album rename "renameCategory_title" = "Omdøb Album"; diff --git a/piwigo/Resources/de.lproj/Localizable.strings b/piwigo/Resources/de.lproj/Localizable.strings index c890aa92f..c6a925bc9 100644 --- a/piwigo/Resources/de.lproj/Localizable.strings +++ b/piwigo/Resources/de.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Erstellen eines neuen Albums fehlgeschlagen"; // Album options (swipe actions) -"categoryCellOption_rename" = "Umbenennen"; -"categoryCellOption_move" = "Verschieben"; -"categoryCellOption_delete" = "Löschen"; +"categoryCellOption_addPhotos" = "Fotos hinzufügen"; +"categoryCellOption_rename" = "Album umbenennen"; +"categoryCellOption_move" = "Album verschieben"; +"categoryCellOption_delete" = "Album löschen"; // Album rename "renameCategory_title" = "Album umbenennen"; diff --git a/piwigo/Resources/en.lproj/Localizable.strings b/piwigo/Resources/en.lproj/Localizable.strings index b660d1d74..114b05c1b 100644 --- a/piwigo/Resources/en.lproj/Localizable.strings +++ b/piwigo/Resources/en.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Failed to create a new album"; // Album options (swipe actions) -"categoryCellOption_rename" = "Rename"; -"categoryCellOption_move" = "Move"; -"categoryCellOption_delete" = "Delete"; +"categoryCellOption_addPhotos" = "Add Photos"; +"categoryCellOption_rename" = "Rename Album"; +"categoryCellOption_move" = "Move Album"; +"categoryCellOption_delete" = "Delete Album"; // Album rename "renameCategory_title" = "Rename Album"; diff --git a/piwigo/Resources/es.lproj/Localizable.strings b/piwigo/Resources/es.lproj/Localizable.strings index 6fd34ca3b..319276686 100644 --- a/piwigo/Resources/es.lproj/Localizable.strings +++ b/piwigo/Resources/es.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "No se ha podido crear un álbum nuevo"; // Album options (swipe actions) -"categoryCellOption_rename" = "Cambiar el nombre"; -"categoryCellOption_move" = "Mover"; -"categoryCellOption_delete" = "Eliminar"; +"categoryCellOption_addPhotos" = "Añadir fotos"; +"categoryCellOption_rename" = "Renombrar álbum"; +"categoryCellOption_move" = "Mover álbum"; +"categoryCellOption_delete" = "Eliminar álbum"; // Album rename "renameCategory_title" = "Renombrar álbum"; diff --git a/piwigo/Resources/fr.lproj/Localizable.strings b/piwigo/Resources/fr.lproj/Localizable.strings index 23bc5d5de..da3a7f3b5 100644 --- a/piwigo/Resources/fr.lproj/Localizable.strings +++ b/piwigo/Resources/fr.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Impossible de créer un nouvel album"; // Album options (swipe actions) -"categoryCellOption_rename" = "Renomer"; -"categoryCellOption_move" = "Déplacer"; -"categoryCellOption_delete" = "Effacer"; +"categoryCellOption_addPhotos" = "Ajouter des Photos"; +"categoryCellOption_rename" = "Renommer l'album"; +"categoryCellOption_move" = "Déplacer l'album"; +"categoryCellOption_delete" = "Supprimer l'album"; // Album rename "renameCategory_title" = "Renommer l'album"; diff --git a/piwigo/Resources/hu.lproj/Localizable.strings b/piwigo/Resources/hu.lproj/Localizable.strings index 08aa84ae2..08ca0a2ec 100644 --- a/piwigo/Resources/hu.lproj/Localizable.strings +++ b/piwigo/Resources/hu.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Nem sikerült létrehozni az albumot"; // Album options (swipe actions) -"categoryCellOption_rename" = "Átnevezés"; -"categoryCellOption_move" = "Mozgatás"; -"categoryCellOption_delete" = "Törlés"; +"categoryCellOption_addPhotos" = "Fényképek hozzáadása"; +"categoryCellOption_rename" = "Album átnevezése"; +"categoryCellOption_move" = "Album áthelyezése"; +"categoryCellOption_delete" = "Album törlése"; // Album rename "renameCategory_title" = "Album átnevezése"; diff --git a/piwigo/Resources/id.lproj/Localizable.strings b/piwigo/Resources/id.lproj/Localizable.strings index a955718e7..83554cd5f 100644 --- a/piwigo/Resources/id.lproj/Localizable.strings +++ b/piwigo/Resources/id.lproj/Localizable.strings @@ -241,6 +241,7 @@ "createAlbumError_message" = "Gagal untuk membuat album baru"; // Album options (swipe actions) +"categoryCellOption_addPhotos" = "Add Photos"; "categoryCellOption_rename" = "Ganti Nama"; "categoryCellOption_move" = "Pindah"; "categoryCellOption_delete" = "Hapus"; diff --git a/piwigo/Resources/it.lproj/Localizable.strings b/piwigo/Resources/it.lproj/Localizable.strings index 4fa47e629..b60aa28b9 100644 --- a/piwigo/Resources/it.lproj/Localizable.strings +++ b/piwigo/Resources/it.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Impossibile creare un nuovo album"; // Album options (swipe actions) -"categoryCellOption_rename" = "Rinomina"; -"categoryCellOption_move" = "Sposta"; -"categoryCellOption_delete" = "Elimina"; +"categoryCellOption_addPhotos" = "Aggiungi foto"; +"categoryCellOption_rename" = "Rinominare l'album"; +"categoryCellOption_move" = "Spostare l'album"; +"categoryCellOption_delete" = "Eliminare l'album"; // Album rename "renameCategory_title" = "Rinomina album"; diff --git a/piwigo/Resources/ja.lproj/Localizable.strings b/piwigo/Resources/ja.lproj/Localizable.strings index eb19f8a87..fb4e153aa 100644 --- a/piwigo/Resources/ja.lproj/Localizable.strings +++ b/piwigo/Resources/ja.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "新規アルバムの作成に失敗しました"; // Album options (swipe actions) -"categoryCellOption_rename" = "名称の変更"; -"categoryCellOption_move" = "移動"; -"categoryCellOption_delete" = "削除"; +"categoryCellOption_addPhotos" = "写真を追加"; +"categoryCellOption_rename" = "アルバム名の変更"; +"categoryCellOption_move" = "アルバムの移動"; +"categoryCellOption_delete" = "アルバム削除"; // Album rename "renameCategory_title" = "アルバムの名称を変更"; diff --git a/piwigo/Resources/nl.lproj/Localizable.strings b/piwigo/Resources/nl.lproj/Localizable.strings index 65d5dd432..288de978c 100644 --- a/piwigo/Resources/nl.lproj/Localizable.strings +++ b/piwigo/Resources/nl.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Het aanmaken van een album is mislukt"; // Album options (swipe actions) -"categoryCellOption_rename" = "Naam wijzigen"; -"categoryCellOption_move" = "Verplaatsen"; -"categoryCellOption_delete" = "Verwijderen"; +"categoryCellOption_addPhotos" = "Foto's toevoegen"; +"categoryCellOption_rename" = "Album hernoemen"; +"categoryCellOption_move" = "Album verplaatsen"; +"categoryCellOption_delete" = "Album verwijderen"; // Album rename "renameCategory_title" = "Albumnaam wijzigen"; diff --git a/piwigo/Resources/pl.lproj/Localizable.strings b/piwigo/Resources/pl.lproj/Localizable.strings index a0c665291..c6b5511be 100644 --- a/piwigo/Resources/pl.lproj/Localizable.strings +++ b/piwigo/Resources/pl.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Nie można utworzyć nowego albumu"; // Album options (swipe actions) -"categoryCellOption_rename" = "Zmień\nnazwę"; -"categoryCellOption_move" = "Przenieść"; -"categoryCellOption_delete" = "Usuń"; +"categoryCellOption_addPhotos" = "Dodawanie zdjęć"; +"categoryCellOption_rename" = "Zmiana nazwy albumu"; +"categoryCellOption_move" = "Przenoszenie albumu"; +"categoryCellOption_delete" = "Usuwanie albumu"; // Album rename "renameCategory_title" = "Zmień nazwę albumu"; diff --git a/piwigo/Resources/ru.lproj/Localizable.strings b/piwigo/Resources/ru.lproj/Localizable.strings index d66b7d5e7..b12bf53af 100644 --- a/piwigo/Resources/ru.lproj/Localizable.strings +++ b/piwigo/Resources/ru.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Не удалось создать новый альбом"; // Album options (swipe actions) -"categoryCellOption_rename" = "Переименовать"; -"categoryCellOption_move" = "Переместить"; -"categoryCellOption_delete" = "Удалить"; +"categoryCellOption_addPhotos" = "Добавить фотографии"; +"categoryCellOption_rename" = "Переименовать альбом"; +"categoryCellOption_move" = "Переместить альбом"; +"categoryCellOption_delete" = "Удалить альбом"; // Album rename "renameCategory_title" = "Переименовать альбом"; diff --git a/piwigo/Resources/sv.lproj/Localizable.strings b/piwigo/Resources/sv.lproj/Localizable.strings index dbfdf3ca2..1cdd66e98 100644 --- a/piwigo/Resources/sv.lproj/Localizable.strings +++ b/piwigo/Resources/sv.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "Kunde inte skapa nytt album"; // Album options (swipe actions) -"categoryCellOption_rename" = "Byt namn"; -"categoryCellOption_move" = "Flytta"; -"categoryCellOption_delete" = "Radera"; +"categoryCellOption_addPhotos" = "Lägg till foton"; +"categoryCellOption_rename" = "Byt namn på album"; +"categoryCellOption_move" = "Flytta album"; +"categoryCellOption_delete" = "Radera album"; // Album rename "renameCategory_title" = "Byt namn på Album"; diff --git a/piwigo/Resources/zh-Hans.lproj/Localizable.strings b/piwigo/Resources/zh-Hans.lproj/Localizable.strings index 41a3de391..67bb37a4d 100644 --- a/piwigo/Resources/zh-Hans.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hans.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "无法创建新相册"; // Album options (swipe actions) -"categoryCellOption_rename" = "重命名"; -"categoryCellOption_move" = "移动"; -"categoryCellOption_delete" = "删除"; +"categoryCellOption_addPhotos" = "添加照片"; +"categoryCellOption_rename" = "重新命名相册"; +"categoryCellOption_move" = "移动相册"; +"categoryCellOption_delete" = "删除相册"; // Album rename "renameCategory_title" = "重命名相册"; diff --git a/piwigo/Resources/zh-Hant.lproj/Localizable.strings b/piwigo/Resources/zh-Hant.lproj/Localizable.strings index bccab3fb1..b70825781 100644 --- a/piwigo/Resources/zh-Hant.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hant.lproj/Localizable.strings @@ -241,9 +241,10 @@ "createAlbumError_message" = "無法建立新相簿"; // Album options (swipe actions) -"categoryCellOption_rename" = "重新命名"; -"categoryCellOption_move" = "移動"; -"categoryCellOption_delete" = "刪除"; +"categoryCellOption_addPhotos" = "新增相片"; +"categoryCellOption_rename" = "重新命名相簿"; +"categoryCellOption_move" = "移動相簿"; +"categoryCellOption_delete" = "刪除相簿"; // Album rename "renameCategory_title" = "重新命名相簿"; From 9d645c7fb6b975796629e220879d82ae613d9087 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 20 Aug 2024 21:48:18 +0200 Subject: [PATCH 36/55] Adds Share and Favorite/Unfavorite actions to contextual menu of Piwigo images --- .../SelectCategoryViewController.swift | 6 +- piwigo/Album/AlbumViewController.swift | 14 +- .../Extensions/AlbumViewController+Bars.swift | 22 ++- .../AlbumViewController+CopyMove.swift | 16 +-- .../AlbumViewController+DataSource.swift | 2 +- .../AlbumViewController+Delegate.swift | 96 +++++++++---- .../AlbumViewController+Delete.swift | 42 +++--- .../Extensions/AlbumViewController+Edit.swift | 16 +-- .../AlbumViewController+Favorite.swift | 82 +++++------ .../AlbumViewController+Fetch.swift | 34 ++--- .../AlbumViewController+FetchResults.swift | 4 +- .../Extensions/AlbumViewController+Menu.swift | 8 +- .../AlbumViewController+Rotate.swift | 44 +++--- .../AlbumViewController+Search.swift | 2 +- .../AlbumViewController+Select.swift | 127 +++++++++--------- .../AlbumViewController+Share.swift | 56 ++++---- .../Extensions/ImageViewController+Edit.swift | 2 +- .../ImageViewController+Share.swift | 6 +- .../EditImageThumbCollectionViewCell.swift | 14 +- .../Cells/EditImageThumbTableViewCell.swift | 12 +- .../EditImageParamsViewController.swift | 2 +- ...geParamsViewController+ThumbnailCell.swift | 6 +- .../ShareImageActivityItemProvider.swift | 12 +- .../ShareVideoActivityItemProvider.swift | 5 +- piwigo/Resources/ar.lproj/Localizable.strings | 3 + piwigo/Resources/da.lproj/Localizable.strings | 3 + piwigo/Resources/de.lproj/Localizable.strings | 3 + piwigo/Resources/en.lproj/Localizable.strings | 3 + piwigo/Resources/es.lproj/Localizable.strings | 3 + piwigo/Resources/fr.lproj/Localizable.strings | 3 + piwigo/Resources/hu.lproj/Localizable.strings | 3 + piwigo/Resources/id.lproj/Localizable.strings | 3 + piwigo/Resources/it.lproj/Localizable.strings | 3 + piwigo/Resources/ja.lproj/Localizable.strings | 3 + piwigo/Resources/nl.lproj/Localizable.strings | 3 + piwigo/Resources/pl.lproj/Localizable.strings | 5 +- piwigo/Resources/ru.lproj/Localizable.strings | 3 + piwigo/Resources/sv.lproj/Localizable.strings | 3 + .../zh-Hans.lproj/Localizable.strings | 3 + .../zh-Hant.lproj/Localizable.strings | 3 + 40 files changed, 391 insertions(+), 289 deletions(-) diff --git a/piwigo/Album/AlbumSelector/SelectCategoryViewController.swift b/piwigo/Album/AlbumSelector/SelectCategoryViewController.swift index acd242f42..8ef3bbf76 100644 --- a/piwigo/Album/AlbumSelector/SelectCategoryViewController.swift +++ b/piwigo/Album/AlbumSelector/SelectCategoryViewController.swift @@ -122,18 +122,18 @@ class SelectCategoryViewController: UIViewController, UITableViewDataSource, UIT case .copyImages, .moveImages: guard let array = parameter as? [Any], - let imageIds = array[0] as? Set, + let imageIDs = array[0] as? Set, let albumId = array[1] as? Int32 else { debugPrint("Input parameter expected to be of type [[NSNumber], Int32]") return false } // IDs of the selected images which will be copied/moved to the selected album - inputImageIds = imageIds + inputImageIds = imageIDs if inputImageIds.isEmpty { debugPrint("List of image IDs should not be empty") return false } - inputImages = imageProvider.getImages(inContext: mainContext, withIds: imageIds) + inputImages = imageProvider.getImages(inContext: mainContext, withIds: imageIDs) nberOfImages = Int64(inputImages.count) if inputImages.isEmpty { debugPrint("No image in cache with these IDs: \(inputImageIds)") diff --git a/piwigo/Album/AlbumViewController.swift b/piwigo/Album/AlbumViewController.swift index c4fb07d2e..f2867401d 100644 --- a/piwigo/Album/AlbumViewController.swift +++ b/piwigo/Album/AlbumViewController.swift @@ -15,7 +15,7 @@ import uploadKit enum pwgImageAction { case edit, delete, share case copyImages, moveImages - case addToFavorites, removeFromFavorites + case favorite, unfavorite case rotateImagesLeft, rotateImagesRight } @@ -92,12 +92,10 @@ class AlbumViewController: UIViewController var imageOfInterest = IndexPath(item: 0, section: 0) var indexOfImageToRestore = Int.min var isSelect = false - var touchedImageIds = [Int64]() - var selectedImageIds = Set() - var selectedImageIdsLoop = Set() - var selectedFavoriteIds = Set() - var selectedVideosIds = Set() - var totalNumberOfImages = 0 + var touchedImageIDs = [Int64]() + var selectedImageIDs = Set() + var selectedFavoriteIDs = Set() + var selectedVideosIDs = Set() var selectedSections = [Int : SelectButtonState]() // State of Select buttons @@ -129,7 +127,7 @@ class AlbumViewController: UIViewController // MARK: - Fetch // Number of images to download per page - var oldImageIds = Set() + var oldImageIDs = Set() var onPage = 0, lastPage = 0 lazy var perPage: Int = { return max(AlbumUtilities.numberOfImagesToDownloadPerPage(), 100) diff --git a/piwigo/Album/Extensions/AlbumViewController+Bars.swift b/piwigo/Album/Extensions/AlbumViewController+Bars.swift index e1af9a00d..addb447b1 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Bars.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Bars.swift @@ -288,7 +288,7 @@ extension AlbumViewController func updateBarsInSelectMode() { setTitleViewFromAlbumData(whileUpdating: false) - let hasImagesSelected = !selectedImageIds.isEmpty + let hasImagesSelected = !selectedImageIDs.isEmpty cancelBarButton.isEnabled = true // User with admin or upload rights can do everything @@ -300,11 +300,9 @@ extension AlbumViewController shareBarButton.isEnabled = hasImagesSelected deleteBarButton.isEnabled = hasImagesSelected favoriteBarButton?.isEnabled = hasImagesSelected - let selected = selectedImageIds - let favorites = selectedFavoriteIds - let areFavorites = selected == favorites + let areFavorites = selectedImageIDs == selectedFavoriteIDs favoriteBarButton?.setFavoriteImage(for: areFavorites) - favoriteBarButton?.action = areFavorites ? #selector(removeFromFavorites) : #selector(addToFavorites) + favoriteBarButton?.action = areFavorites ? #selector(unfavoriteSelection) : #selector(favoriteSelection) if #available(iOS 14, *) { let children = [albumMenu(), imagesMenu()].compactMap({$0}) @@ -319,11 +317,9 @@ extension AlbumViewController /// — non-guest users can set favorites in addition shareBarButton.isEnabled = hasImagesSelected favoriteBarButton?.isEnabled = hasImagesSelected - let selected = selectedImageIds - let favorites = selectedFavoriteIds - let areFavorites = selected == favorites + let areFavorites = selectedImageIDs == selectedFavoriteIDs favoriteBarButton?.setFavoriteImage(for: areFavorites) - favoriteBarButton?.action = areFavorites ? #selector(removeFromFavorites) : #selector(addToFavorites) + favoriteBarButton?.action = areFavorites ? #selector(unfavoriteSelection) : #selector(favoriteSelection) } } @@ -386,7 +382,7 @@ extension AlbumViewController subtitle = NSLocalizedString("categoryUpdating", comment: "Updating…") } else if isSelect { - let nberPhotos = selectedImageIds.count + let nberPhotos = selectedImageIDs.count switch nberPhotos { case 0: subtitle = NSLocalizedString("selectImages", comment: "Select Photos") @@ -418,14 +414,12 @@ extension AlbumViewController // Album data updated today let time = DateFormatter.localizedString(from: dateGetImages, dateStyle: .none, timeStyle: .short) - subtitle = String(format: NSLocalizedString("categoryUpdatedAt", - comment: "Updated at…"), time) + subtitle = String(format: NSLocalizedString("categoryUpdatedAt", comment: "Updated at…"), time) } else { // Album data updated yesterday or before let date = DateFormatter.localizedString(from: dateGetImages, dateStyle: .short, timeStyle: .none) - subtitle = String(format: NSLocalizedString("categoryUpdatedOn", - comment: "Updated on…"), date) + subtitle = String(format: NSLocalizedString("categoryUpdatedOn", comment: "Updated on…"), date) } } } diff --git a/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift b/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift index f56a42ee4..b8f9b250e 100644 --- a/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift +++ b/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift @@ -29,7 +29,7 @@ extension AlbumViewController // Disable buttons during action setEnableStateOfButtons(false) // Retrieve complete image data before copying images - initSelection(beforeAction: .copyImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .copyImages) }) action.accessibilityIdentifier = "copy" return action @@ -44,7 +44,7 @@ extension AlbumViewController // Disable buttons during action setEnableStateOfButtons(false) // Retrieve complete image data before moving images - initSelection(beforeAction: .moveImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .moveImages) }) action.accessibilityIdentifier = "move" return action @@ -69,14 +69,14 @@ extension AlbumViewController title: NSLocalizedString("copyImage_title", comment: "Copy to Album"), style: .default, handler: { [self] action in // Retrieve complete image data before copying images - initSelection(beforeAction: .copyImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .copyImages) }) let moveAction = UIAlertAction( title: NSLocalizedString("moveImage_title", comment: "Move to Album"), style: .default, handler: { [self] action in // Retrieve complete image data before moving images - initSelection(beforeAction: .moveImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .moveImages) }) // Add actions @@ -98,10 +98,10 @@ extension AlbumViewController } } - func copyImagesToAlbum() { + func copyToAlbum(imagesWithID imageIDs: Set) { let copySB = UIStoryboard(name: "SelectCategoryViewController", bundle: nil) guard let copyVC = copySB.instantiateViewController(withIdentifier: "SelectCategoryViewController") as? SelectCategoryViewController else { return } - let parameter: [Any] = [selectedImageIds, albumData.pwgID] + let parameter: [Any] = [imageIDs, albumData.pwgID] copyVC.user = user if copyVC.setInput(parameter: parameter, for: .copyImages) { copyVC.delegate = self // To re-enable toolbar @@ -109,10 +109,10 @@ extension AlbumViewController } } - func moveImagesToAlbum() { + func moveToAlbum(imagesWithID imageIDs: Set) { let moveSB = UIStoryboard(name: "SelectCategoryViewController", bundle: nil) guard let moveVC = moveSB.instantiateViewController(withIdentifier: "SelectCategoryViewController") as? SelectCategoryViewController else { return } - let parameter: [Any] = [selectedImageIds, albumData.pwgID] + let parameter: [Any] = [imageIDs, albumData.pwgID] moveVC.user = user if moveVC.setInput(parameter: parameter, for: .moveImages) { moveVC.delegate = self // To re-enable toolbar diff --git a/piwigo/Album/Extensions/AlbumViewController+DataSource.swift b/piwigo/Album/Extensions/AlbumViewController+DataSource.swift index eb4dd7d49..f29bb0c67 100644 --- a/piwigo/Album/Extensions/AlbumViewController+DataSource.swift +++ b/piwigo/Album/Extensions/AlbumViewController+DataSource.swift @@ -268,7 +268,7 @@ extension AlbumViewController: UICollectionViewDataSource let image = images.object(at: imageIndexPath) // Is this cell selected? - cell.isSelection = selectedImageIds.contains(image.pwgID) + cell.isSelection = selectedImageIDs.contains(image.pwgID) // pwg.users.favorites… methods available from Piwigo version 2.10 if hasFavorites { diff --git a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift index c5bcbe4d0..6b49f62a6 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift @@ -35,25 +35,24 @@ extension AlbumViewController: UICollectionViewDelegate // Action depends on mode if isSelect { // Check image ID - guard let imageId = selectedCell.imageData?.pwgID, imageId != 0 else { - return - } + guard let imageID = selectedCell.imageData?.pwgID, imageID != 0 + else { return } // Selection mode active => add/remove image from selection - if !selectedImageIds.contains(imageId) { - selectedImageIds.insert(imageId) + if !selectedImageIDs.contains(imageID) { + selectedImageIDs.insert(imageID) selectedCell.isSelection = true if selectedCell.isFavorite { - selectedFavoriteIds.insert(imageId) + selectedFavoriteIDs.insert(imageID) } if selectedCell.imageData.isVideo { - selectedVideosIds.insert(imageId) + selectedVideosIDs.insert(imageID) } } else { selectedCell.isSelection = false - selectedImageIds.remove(imageId) - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) } // Update nav buttons @@ -260,18 +259,65 @@ extension AlbumViewController: UICollectionViewDelegate at indexPath: IndexPath) -> UIMenu { var children = [UIMenuElement]() if let imageID = cell.imageData?.pwgID { - if self.selectedImageIds.contains(imageID) { - // Image not selected ► Propose to select it - children.append(deselectImageAction(forCell: cell, imageID: imageID, at: indexPath)) - } else { - // Image selected ► Propose to deselect it - children.append(selectImageAction(forCell: cell, imageID: imageID, at: indexPath)) + // Guest cannot share images + if NetworkVars.userStatus != .guest { + children.append(shareImageAction(withID: imageID)) + } + + // pwg.users.favorites… methods available from Piwigo version 2.10 for registered users + let isGuest = NetworkVars.userStatus == .guest + let versionTooOld = NetworkVars.pwgVersion.compare("2.10.0", options: .numeric) == .orderedAscending + if isGuest == false, versionTooOld == false { + if cell.isFavorite { + children.append(unfavoriteImageAction(withID: imageID)) + } else { + children.append(favoriteImageAction(withID: imageID)) + } + } + + // Only identified users can select images + if NetworkVars.userStatus != .guest { + if self.selectedImageIDs.contains(imageID) { + // Image not selected ► Propose to select it + children.append(deselectImageAction(forCell: cell, imageID: imageID, at: indexPath)) + } else { + // Image selected ► Propose to deselect it + children.append(selectImageAction(forCell: cell, imageID: imageID, at: indexPath)) + } + } + + // User with admin or upload rights can delete images + if user.hasUploadRights(forCatID: categoryId) { + children.append(deleteImageMenu(forImageID: imageID)) } - children.append(deleteImageMenu(forImageID: imageID)) } return UIMenu(title: "", children: children) } + @available(iOS 13.0, *) + private func shareImageAction(withID imageID: Int64) -> UIAction { + return UIAction(title: NSLocalizedString("categoryImageList_share", comment: "Share"), + image: UIImage(systemName: "square.and.arrow.up")) { _ in + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .share) + } + } + + @available(iOS 13.0, *) + private func favoriteImageAction(withID imageID: Int64) -> UIAction { + return UIAction(title: NSLocalizedString("categoryImageList_favorite", comment: "Favorite"), + image: UIImage(systemName: "heart")) { _ in + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .favorite) + } + } + + @available(iOS 13.0, *) + private func unfavoriteImageAction(withID imageID: Int64) -> UIAction { + return UIAction(title: NSLocalizedString("categoryImageList_unfavorite", comment: "Unfavorite"), + image: UIImage(systemName: "heart.slash")) { _ in + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .unfavorite) + } + } + @available(iOS 13.0, *) private func selectImageAction(forCell cell: ImageCollectionViewCell, imageID: Int64, at indexPath: IndexPath) -> UIAction { @@ -279,13 +325,13 @@ extension AlbumViewController: UICollectionViewDelegate return UIAction(title: NSLocalizedString("categoryImageList_selectButton", comment: "Select"), image: UIImage(systemName: "checkmark.circle")) { _ in // Select image - self.selectedImageIds.insert(imageID) + self.selectedImageIDs.insert(imageID) cell.isSelection = true if cell.isFavorite { - self.selectedFavoriteIds.insert(imageID) + self.selectedFavoriteIDs.insert(imageID) } if cell.imageData.isVideo { - self.selectedVideosIds.insert(imageID) + self.selectedVideosIDs.insert(imageID) } // Check if the selection mode is active @@ -324,12 +370,12 @@ extension AlbumViewController: UICollectionViewDelegate image: image) { _ in // Deselect image cell.isSelection = false - self.selectedImageIds.remove(imageID) - self.selectedFavoriteIds.remove(imageID) - self.selectedVideosIds.remove(imageID) + self.selectedImageIDs.remove(imageID) + self.selectedFavoriteIDs.remove(imageID) + self.selectedVideosIDs.remove(imageID) // Check if the selection mode should be disabled - if self.selectedImageIds.isEmpty { + if self.selectedImageIDs.isEmpty { // Disable the selection mode self.cancelSelect() } else { @@ -360,7 +406,7 @@ extension AlbumViewController: UICollectionViewDelegate // Image selected ► Propose to deselect it return UIAction(title: NSLocalizedString("deleteSingleImage_title", comment: "Delete Photo"), image: UIImage(systemName: "trash"), attributes: .destructive) { _ in - self.askDeleteConfirmation(for: Set([imageID])) + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .delete) } } } diff --git a/piwigo/Album/Extensions/AlbumViewController+Delete.swift b/piwigo/Album/Extensions/AlbumViewController+Delete.swift index 1e558e18c..300206c8d 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delete.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delete.swift @@ -21,20 +21,20 @@ extension AlbumViewController // MARK: - Delete or Remove Images @objc func deleteSelection() { - initSelection(beforeAction: .delete) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .delete) } - func askDeleteConfirmation(for selectedImageIds: Set) { + func askDeleteConfirmation(forImagesWithID imageIDs: Set) { // Split orphaned and non-orphaned images var toRemove = Set() var toDelete = Set() - for selectedImageId in selectedImageIds { - guard let selectedImage = (images.fetchedObjects ?? []).first(where: {$0.pwgID == selectedImageId}) + for imageID in imageIDs { + guard let image = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { continue } - if (selectedImage.albums ?? Set()).filter({$0.pwgID > 0}).count == 1 { - toDelete.insert(selectedImage) + if (image.albums ?? Set()).filter({$0.pwgID > 0}).count == 1 { + toDelete.insert(image) } else { - toRemove.insert(selectedImage) + toRemove.insert(image) } } let totalNberToDelete = toDelete.count + toRemove.count @@ -79,7 +79,7 @@ extension AlbumViewController // Display HUD during server update var msgHUD = "" - if totalNumberOfImages > 1 { + if imageIDs.count > 1 { msgHUD = NSLocalizedString("deleteSeveralImagesHUD_deleting", comment: "Deleting Photos/Videos…") } else if let imageData = toDelete.first, imageData.isVideo { msgHUD = NSLocalizedString("deleteSingleVideoHUD_deleting", comment: "Deleting Video…") @@ -100,8 +100,8 @@ extension AlbumViewController handler: { [self] action in // Display HUD during server update var msgHUD = "" - totalNumberOfImages = toRemove.count + (toDelete.isEmpty ? 0 : 1) - if totalNumberOfImages > 1 { + let totalNberOfImages = toRemove.count + (toDelete.isEmpty ? 0 : 1) + if totalNberOfImages > 1 { msgHUD = toDelete.isEmpty ? NSLocalizedString("removeSeveralImagesHUD_removing", comment: "Removing Photos/Videos…") : NSLocalizedString("deleteSeveralImagesHUD_deleting", comment: "Deleting Photos/Videos…") @@ -125,7 +125,7 @@ extension AlbumViewController } // Start removing images - removeImages(toRemove, andThenDelete: toDelete) + removeImages(toRemove, andThenDelete: toDelete, total: Float(totalNberToDelete)) }) alert.addAction(removeImagesAction) } @@ -142,10 +142,11 @@ extension AlbumViewController } } - func removeImages(_ toRemove: Set, andThenDelete toDelete: Set) { + func removeImages(_ toRemove: Set, andThenDelete toDelete: Set, total: Float) { var imagesToRemove = toRemove guard let imageData = imagesToRemove.first, - let albums = imageData.albums else { + let albums = imageData.albums + else { if toDelete.isEmpty { navigationController?.updateHUDwithSuccess() { [self] in // Save changes @@ -190,21 +191,22 @@ extension AlbumViewController imagesToRemove.removeFirst() // Update HUD - let ratio = Float(imagesToRemove.count) / Float(totalNumberOfImages) + let ratio = Float(imagesToRemove.count) / total navigationController?.updateHUD(withProgress: 1.0 - ratio) // Next image - removeImages(imagesToRemove, andThenDelete:toDelete) + removeImages(imagesToRemove, andThenDelete:toDelete, total: total) } failure: { [self] error in - self.removeImages(imagesToRemove, andThenDelete: toDelete, error: error) + self.removeImages(imagesToRemove, andThenDelete: toDelete, total: total, error: error) } } failure: { [self] error in - self.removeImages(imagesToRemove, andThenDelete: toDelete, error: error) + self.removeImages(imagesToRemove, andThenDelete: toDelete, total: total, error: error) } } - private func removeImages(_ toRemove: Set, andThenDelete toDelete: Set, error: NSError) { + private func removeImages(_ toRemove: Set, andThenDelete toDelete: Set, + total: Float, error: NSError) { // Session logout required? if let pwgError = error as? PwgSessionError, [.invalidCredentials, .incompatiblePwgVersion, .invalidURL, .authenticationFailed] @@ -234,7 +236,7 @@ extension AlbumViewController // Bypass image imagesToRemove.removeFirst() // Continue removing images - removeImages(imagesToRemove, andThenDelete:toDelete) + removeImages(imagesToRemove, andThenDelete:toDelete, total: total) } } else { dismissPiwigoError(withTitle: title, message: message, @@ -260,7 +262,7 @@ extension AlbumViewController do { try self.mainContext.save() } catch let error as NSError { - print("Could not save moved images \(error), \(error.userInfo)") + print("Could not save deleted images \(error), \(error.userInfo)") } // Hide HUD and deselect images navigationController?.hideHUD(afterDelay: pwgDelayHUD) { [self] in diff --git a/piwigo/Album/Extensions/AlbumViewController+Edit.swift b/piwigo/Album/Extensions/AlbumViewController+Edit.swift index 40a207551..3d500ecd4 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Edit.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Edit.swift @@ -29,11 +29,11 @@ extension AlbumViewController // MARK: Edit Images Parameters @objc func editSelection() { - initSelection(beforeAction: .edit) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .edit) } - func editImages() { - if selectedImageIds.isEmpty { + func editImages(withIDs imageIDs: Set) { + if imageIDs.isEmpty { // No image => End (should never happen) navigationController?.updateHUDwithSuccess() { [self] in navigationController?.hideHUD(afterDelay: pwgDelayHUD) { [self] in @@ -49,7 +49,7 @@ extension AlbumViewController else { preconditionFailure("Could not load EditImageParamsViewController") } editImageVC.user = user let albumImages = images.fetchedObjects ?? [] - editImageVC.images = albumImages.filter({selectedImageIds.contains($0.pwgID)}) + editImageVC.images = albumImages.filter({imageIDs.contains($0.pwgID)}) editImageVC.delegate = self pushView(editImageVC) } @@ -59,11 +59,11 @@ extension AlbumViewController // MARK: - EditImageParamsDelegate Methods extension AlbumViewController: EditImageParamsDelegate { - func didDeselectImage(withId imageId: Int64) { + func didDeselectImage(withID imageID: Int64) { // Deselect image - selectedImageIds.remove(imageId) - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) collectionView?.reloadData() } diff --git a/piwigo/Album/Extensions/AlbumViewController+Favorite.swift b/piwigo/Album/Extensions/AlbumViewController+Favorite.swift index b9253ce12..0f0a50040 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Favorite.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Favorite.swift @@ -23,20 +23,21 @@ extension AlbumViewController } // Are the selected images favorites? - let areFavorites = selectedImageIds == selectedFavoriteIds + let areFavorites = selectedImageIDs == selectedFavoriteIDs let button = UIBarButtonItem.favoriteImageButton(areFavorites, target: self) - button.action = areFavorites ? #selector(removeFromFavorites) : #selector(addToFavorites) + button.action = areFavorites ? #selector(unfavoriteSelection) : #selector(favoriteSelection) return button } // MARK: - Add Images to Favorites - @objc func addToFavorites() { - initSelection(beforeAction: .addToFavorites) + @objc func favoriteSelection() { + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .favorite) } - func addImageToFavorites() { - guard let imageId = selectedImageIds.first else { + func favorite(imagesWithID someIDs: Set, total: Float) { + var remainingIDs = someIDs + guard let imageID = remainingIDs.first else { // Save changes // bckgContext.saveIfNeeded() // Close HUD with success @@ -50,17 +51,18 @@ extension AlbumViewController } // Get image data - guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageId}) else { + guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { // Forget this image - selectedImageIds.removeFirst() - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + remainingIDs.removeFirst() + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) // Update HUD - navigationController?.updateHUD(withProgress: 1.0 - Float(selectedImageIds.count) / Float(totalNumberOfImages)) + navigationController?.updateHUD(withProgress: 1.0 - Float(remainingIDs.count) / total) // Next image - addImageToFavorites() + favorite(imagesWithID: remainingIDs, total: total) return } @@ -69,7 +71,7 @@ extension AlbumViewController ImageUtilities.addToFavorites(imageData) { [self] in DispatchQueue.main.async { [self] in // Update HUD - navigationController?.updateHUD(withProgress: 1.0 - Float(self.selectedImageIds.count) / Float(self.totalNumberOfImages)) + navigationController?.updateHUD(withProgress: 1.0 - Float(remainingIDs.count) / total) // Image added to favorites ► Add it in the background if let favAlbum = self.albumProvider.getAlbum(ofUser: self.user, withId: pwgSmartAlbum.favorites.rawValue) { @@ -82,20 +84,21 @@ extension AlbumViewController } // Next image - selectedImageIds.removeFirst() - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) - addImageToFavorites() + remainingIDs.removeFirst() + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + favorite(imagesWithID: remainingIDs, total: total) } } failure: { [self] error in - self.addImageToFavoritesError(error) + self.favoriteError(error) } } failure: { [self] error in - self.addImageToFavoritesError(error) + self.favoriteError(error) } } - private func addImageToFavoritesError(_ error: NSError) { + private func favoriteError(_ error: NSError) { DispatchQueue.main.async { [self] in // Session logout required? if let pwgError = error as? PwgSessionError, @@ -119,12 +122,13 @@ extension AlbumViewController // MARK: - Remove Images from Favorites - @objc func removeFromFavorites() { - initSelection(beforeAction: .removeFromFavorites) + @objc func unfavoriteSelection() { + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .unfavorite) } - func removeImageFromFavorites() { - guard let imageId = selectedImageIds.first else { + func unfavorite(imagesWithID someIDs: Set, total: Float) { + var remainingIDs = someIDs + guard let imageID = remainingIDs.first else { // Save changes // bckgContext.saveIfNeeded() // Close HUD with success @@ -138,17 +142,18 @@ extension AlbumViewController } // Get image data - guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageId}) else { + guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { // Deselect this image - selectedImageIds.removeFirst() - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + remainingIDs.removeFirst() + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) // Update HUD - navigationController?.updateHUD(withProgress: 1.0 - Float(selectedImageIds.count) / Float(totalNumberOfImages)) + navigationController?.updateHUD(withProgress: 1.0 - Float(remainingIDs.count) / total) // Next image - removeImageFromFavorites() + unfavorite(imagesWithID: remainingIDs, total: total) return } @@ -157,7 +162,7 @@ extension AlbumViewController ImageUtilities.removeFromFavorites(imageData) { [self] in DispatchQueue.main.async { [self] in // Update HUD - navigationController?.updateHUD(withProgress: 1.0 - Float(self.selectedImageIds.count) / Float(self.totalNumberOfImages)) + navigationController?.updateHUD(withProgress: 1.0 - Float(remainingIDs.count) / total) // Image removed from favorites ► Remove it in the foreground if let favAlbum = self.albumProvider.getAlbum(ofUser: self.user, withId: pwgSmartAlbum.favorites.rawValue) { @@ -170,20 +175,21 @@ extension AlbumViewController } // Next image - selectedImageIds.removeFirst() - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) - removeImageFromFavorites() + remainingIDs.removeFirst() + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + unfavorite(imagesWithID: remainingIDs, total: total) } } failure: { [unowned self] error in - self.removeFromFavoritesError(error) + self.unfavoriteError(error) } } failure: { [unowned self] error in - self.removeFromFavoritesError(error) + self.unfavoriteError(error) } } - private func removeFromFavoritesError(_ error: NSError) { + private func unfavoriteError(_ error: NSError) { DispatchQueue.main.async { [self] in // Session logout required? if let pwgError = error as? PwgSessionError, diff --git a/piwigo/Album/Extensions/AlbumViewController+Fetch.swift b/piwigo/Album/Extensions/AlbumViewController+Fetch.swift index 5cfbd3f24..201c35ee9 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Fetch.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Fetch.swift @@ -18,7 +18,7 @@ extension AlbumViewController // from main context before calling background tasks /// - takes 662 ms for 2500 photos on iPhone 14 Pro with derivatives inside Image instances /// - takes 51 ms for 2584 photos on iPhone 14 Pro with derivatives in Sizes instances - let oldImageIds = Set((images.fetchedObjects ?? []).map({$0.pwgID})) + let oldImageIDs = Set((images.fetchedObjects ?? []).map({$0.pwgID})) let query = albumData.query // Use the AlbumProvider to create the album data. On completion, @@ -29,19 +29,19 @@ extension AlbumViewController // The number of images is unknown when a smart album is created. // Use the ImageProvider to fetch image data. On completion, // handle general UI updates and error alerts on the main queue. - self.fetchImages(withInitialImageIds: oldImageIds, query: query, + self.fetchImages(withInitialImageIds: oldImageIDs, query: query, fromPage: 0, toPage: 0) { completion() } } else { - fetchAlbums(withInitialImageIds: oldImageIds, query: query) { + fetchAlbums(withInitialImageIds: oldImageIDs, query: query) { completion() } } } } - private func fetchAlbums(withInitialImageIds oldImageIds: Set, query: String, + private func fetchAlbums(withInitialImageIds oldImageIDs: Set, query: String, completion: @escaping () -> Void) { // Use the AlbumProvider to fetch album data. On completion, // handle general UI updates and error alerts on the main queue. @@ -63,7 +63,7 @@ extension AlbumViewController return } // ► Remove non-fetched images from album - self.removeImageWithIDs(oldImageIds) + self.removeImageWithIDs(oldImageIDs) // ► Remove current album from list of album being fetched AlbumVars.shared.isFetchingAlbumData.remove(self.categoryId) completion() @@ -74,7 +74,7 @@ extension AlbumViewController // handle general UI updates and error alerts on the main queue. let (quotient, remainder) = nbImages.quotientAndRemainder(dividingBy: Int64(self.perPage)) let lastPage = Int(quotient) + Int(remainder > 0 ? 1 : 0) - self.fetchImages(withInitialImageIds: oldImageIds, query: query, + self.fetchImages(withInitialImageIds: oldImageIDs, query: query, fromPage: 0, toPage: lastPage - 1, completion: completion) return @@ -94,7 +94,7 @@ extension AlbumViewController // MARK: - Fetch Image Data in the Background - func fetchImages(withInitialImageIds oldImageIds: Set, query: String, + func fetchImages(withInitialImageIds oldImageIDs: Set, query: String, fromPage onPage: Int, toPage lastPage: Int, completion: @escaping () -> Void) { // Use the ImageProvider to fetch image data. On completion, @@ -128,7 +128,7 @@ extension AlbumViewController } // Will not remove fetched images from album image list - let imageIds = oldImageIds.subtracting(fetchedImageIds) + let imageIDs = oldImageIDs.subtracting(fetchedImageIds) // Should we continue? if onPage < newLastPage, query == albumData.query { @@ -149,16 +149,16 @@ extension AlbumViewController // Is user editing the search string? if imageProvider.userDidCancelSearch { // Remove non-fetched images from album - removeImageWithIDs(imageIds) + removeImageWithIDs(imageIDs) // Store parameters - self.oldImageIds = imageIds + self.oldImageIDs = imageIDs self.onPage = onPage + 1 self.lastPage = newLastPage self.perPage = perPage return } // Load next page of images - self.fetchImages(withInitialImageIds: imageIds, query: query, + self.fetchImages(withInitialImageIds: imageIDs, query: query, fromPage: onPage + 1, toPage: newLastPage, completion: completion) return @@ -166,7 +166,7 @@ extension AlbumViewController // Done fetching images // ► Remove non-fetched images from album - removeImageWithIDs(imageIds) + removeImageWithIDs(imageIDs) // ► Remove current album from list of album being fetched AlbumVars.shared.isFetchingAlbumData.remove(self.categoryId) // ► Delete orphaned images in the background @@ -275,7 +275,7 @@ extension AlbumViewController // Remember which images belong to this album // from main context before calling background tasks - let oldImageIds = Set(album.images?.map({$0.pwgID}) ?? []) + let oldImageIDs = Set(album.images?.map({$0.pwgID}) ?? []) // Load favorites data in the background // Use the ImageProvider to fetch image data. On completion, @@ -283,11 +283,11 @@ extension AlbumViewController let albumNbImages = album.nbImages let (quotient, remainer) = albumNbImages.quotientAndRemainder(dividingBy: Int64(self.perPage)) let lastPage = Int(quotient) + Int(remainer) > 0 ? 1 : 0 - self.fetchFavorites(ofAlbum: album, imageIds: oldImageIds, + self.fetchFavorites(ofAlbum: album, imageIDs: oldImageIDs, fromPage: 0, toPage: lastPage, perPage: perPage) } - private func fetchFavorites(ofAlbum album: Album, imageIds: Set, + private func fetchFavorites(ofAlbum album: Album, imageIDs: Set, fromPage onPage: Int, toPage lastPage: Int, perPage: Int) { // Use the ImageProvider to fetch image data. On completion, // handle general UI updates and error alerts on the main queue. @@ -314,12 +314,12 @@ extension AlbumViewController } // Will not remove fetched images from album image list - let newImageIds = imageIds.subtracting(fetchedImageIds) + let newImageIds = imageIDs.subtracting(fetchedImageIds) // Should we continue? if onPage < newLastPage { // Load next page of images - self.fetchFavorites(ofAlbum: album, imageIds: newImageIds, + self.fetchFavorites(ofAlbum: album, imageIDs: newImageIds, fromPage: onPage + 1, toPage: newLastPage, perPage: perPage) return } diff --git a/piwigo/Album/Extensions/AlbumViewController+FetchResults.swift b/piwigo/Album/Extensions/AlbumViewController+FetchResults.swift index a96b0fee7..5dfc36eaa 100644 --- a/piwigo/Album/Extensions/AlbumViewController+FetchResults.swift +++ b/piwigo/Album/Extensions/AlbumViewController+FetchResults.swift @@ -110,7 +110,9 @@ extension AlbumViewController: NSFetchedResultsControllerDelegate else { return } indexPath.section += 1 // Deselect image - selectedImageIds.remove(image.pwgID) + selectedImageIDs.remove(image.pwgID) + selectedFavoriteIDs.remove(image.pwgID) + selectedVideosIDs.remove(image.pwgID) // Delete image updateOperations.append( BlockOperation { [weak self] in debugPrint("••> Delete image of album #\(self?.categoryId ?? Int32.min) at \(indexPath)") diff --git a/piwigo/Album/Extensions/AlbumViewController+Menu.swift b/piwigo/Album/Extensions/AlbumViewController+Menu.swift index cd0ad8852..e46ef1e6a 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Menu.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Menu.swift @@ -322,10 +322,10 @@ extension AlbumViewController: ImageHeaderDelegate let image = images.object(at: imageIndexPath) // Is this image already selected? - if selectedImageIds.contains(image.pwgID) { continue } + if selectedImageIDs.contains(image.pwgID) { continue } // Select this image - selectedImageIds.insert(image.pwgID) + selectedImageIDs.insert(image.pwgID) let indexPath = IndexPath(item: item, section: section) if let cell = collectionView?.cellForItem(at: indexPath) as? ImageCollectionViewCell { cell.isSelection = true @@ -342,10 +342,10 @@ extension AlbumViewController: ImageHeaderDelegate let image = images.object(at: imageIndexPath) // Is this image already deselected? - if selectedImageIds.contains(image.pwgID) == false { continue } + if selectedImageIDs.contains(image.pwgID) == false { continue } // Deselect this image - selectedImageIds.remove(image.pwgID) + selectedImageIDs.remove(image.pwgID) let indexPath = IndexPath(item: item, section: section) if let cell = collectionView?.cellForItem(at: indexPath) as? ImageCollectionViewCell { cell.isSelection = false diff --git a/piwigo/Album/Extensions/AlbumViewController+Rotate.swift b/piwigo/Album/Extensions/AlbumViewController+Rotate.swift index 7726677ee..c2dd17dce 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Rotate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Rotate.swift @@ -15,7 +15,7 @@ import piwigoKit extension AlbumViewController { func rotateMenu() -> UIMenu? { - if selectedVideosIds.isEmpty { + if selectedVideosIDs.isEmpty { return UIMenu(title: NSLocalizedString("rotateImage_rotate", comment: "Rotate 90°…"), image: nil, identifier: UIMenu.Identifier("org.piwigo.images.rotate"), @@ -30,7 +30,7 @@ extension AlbumViewController image: UIImage(systemName: "rotate.right"), handler: { _ in // Rotate images right - self.rotateImagesRight() + self.rotateSelectionRight() }) action.accessibilityIdentifier = "Rotate Right" return action @@ -42,7 +42,7 @@ extension AlbumViewController image: UIImage(systemName: "rotate.left"), handler: { _ in // Rotate images left - self.rotateImagesLeft() + self.rotateSelectionLeft() }) action.accessibilityIdentifier = "Rotate Left" return action @@ -53,16 +53,17 @@ extension AlbumViewController extension AlbumViewController { // MARK: - Rotate Image - @objc func rotateImagesLeft() { - initSelection(beforeAction: .rotateImagesLeft) + @objc func rotateSelectionLeft() { + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .rotateImagesLeft) } - @objc func rotateImagesRight() { - initSelection(beforeAction: .rotateImagesRight) + @objc func rotateSelectionRight() { + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .rotateImagesRight) } - func rotateImages(by angle: Double) { - guard let imageId = selectedImageIds.first else { + func rotateImages(withID someIDs: Set, by angle: Double, total: Float) { + var remainingIDs = someIDs + guard let imageID = remainingIDs.first else { // Save changes // bckgContext.saveIfNeeded() // Close HUD with success @@ -78,20 +79,21 @@ extension AlbumViewController } // Get image data - guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageId}) else { + guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { // Forget this image - selectedImageIds.removeFirst() - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + remainingIDs.removeFirst() + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) // Update HUD DispatchQueue.main.async { - let progress: Float = 1 - Float(self.selectedImageIds.count) / Float(self.totalNumberOfImages) + let progress: Float = 1 - Float(remainingIDs.count) / total self.navigationController?.updateHUD(withProgress: progress) } // Next image - rotateImages(by: angle) + rotateImages(withID: remainingIDs, by: angle, total: total) return } @@ -107,8 +109,9 @@ extension AlbumViewController // Update HUD DispatchQueue.main.async { // Update progress indicator - let progress: Float = 1 - Float(self.selectedImageIds.count) / Float(self.totalNumberOfImages) + let progress: Float = 1 - Float(remainingIDs.count) / total self.navigationController?.updateHUD(withProgress: progress) + // Rotate cell image for cell in (self.collectionView?.visibleCells ?? []) { if let cell = cell as? ImageCollectionViewCell, cell.imageData.pwgID == imageID, @@ -120,10 +123,11 @@ extension AlbumViewController } // Next image - selectedImageIds.removeFirst() - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) - rotateImages(by: angle) + remainingIDs.removeFirst() + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + rotateImages(withID: remainingIDs, by: angle, total: total) } failure: { [self] error in rotateImagesInDatabaseError(error) diff --git a/piwigo/Album/Extensions/AlbumViewController+Search.swift b/piwigo/Album/Extensions/AlbumViewController+Search.swift index bb714dbdc..db1e39ba6 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Search.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Search.swift @@ -143,7 +143,7 @@ extension AlbumViewController: UISearchBarDelegate // Did the query string change? if albumData.query == query { // Restart loading pages of images - self.fetchImages(withInitialImageIds: self.oldImageIds, query: query, + self.fetchImages(withInitialImageIds: self.oldImageIDs, query: query, fromPage: self.onPage, toPage: self.lastPage) { self.fetchCompleted() } diff --git a/piwigo/Album/Extensions/AlbumViewController+Select.swift b/piwigo/Album/Extensions/AlbumViewController+Select.swift index 684024b1d..abad9f51d 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Select.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Select.swift @@ -46,14 +46,14 @@ extension AlbumViewController // Rotate clockwise var title = NSLocalizedString("rotateImage_right", comment: "Clockwise") let rotateRightAction = UIAlertAction(title: title, style: .default) { [self] _ in - self.rotateImagesRight() + self.rotateSelectionRight() } alert.addAction(rotateRightAction) // Rotate counterclockwise title = NSLocalizedString("rotateImage_left", comment: "Counterclockwise") let rotateLeftAction = UIAlertAction(title: title, style: .default) { [self] _ in - self.rotateImagesLeft() + self.rotateSelectionLeft() } alert.addAction(rotateLeftAction) @@ -201,10 +201,10 @@ extension AlbumViewController } // Clear array of selected images - touchedImageIds = [] - selectedImageIds = Set() - selectedFavoriteIds = Set() - selectedVideosIds = Set() + touchedImageIDs = [] + selectedImageIDs = Set() + selectedFavoriteIDs = Set() + selectedVideosIDs = Set() for key in selectedSections.keys { selectedSections[key] = .select } @@ -239,7 +239,7 @@ extension AlbumViewController var nberOfSelectedImagesInSection = 0 for item in 0.., beforeAction action: pwgImageAction) { + if imageIDs.isEmpty { return } // Disable buttons setEnableStateOfButtons(false) @@ -273,99 +273,102 @@ extension AlbumViewController .moveImages /* Move images to album */: // Remove images from which we already have complete data - selectedImageIdsLoop = selectedImageIds - let selectedImages = (images.fetchedObjects ?? []).filter({selectedImageIds.contains($0.pwgID)}) - for selectedImageId in selectedImageIds { - guard let selectedImage = selectedImages.first(where: {$0.pwgID == selectedImageId}) - else { continue } + var imageIDsToRetrieve = imageIDs + let selectedImages = (images.fetchedObjects ?? []).filter({imageIDs.contains($0.pwgID)}) + for imageID in imageIDs { + guard let selectedImage = selectedImages.first(where: {$0.pwgID == imageID}) + else { continue } if selectedImage.fileSize != Int64.zero { - selectedImageIdsLoop.remove(selectedImageId) + imageIDsToRetrieve.remove(imageID) } } // Should we retrieve data of some images? - if selectedImageIdsLoop.isEmpty { - doAction(action) + if imageIDsToRetrieve.isEmpty { + performAction(action, withImageIDs: imageIDs) } else { // Display HUD - totalNumberOfImages = selectedImageIdsLoop.count navigationController?.showHUD(withTitle: NSLocalizedString("loadingHUD_label", comment: "Loading…"), - inMode: totalNumberOfImages > 1 ? .determinate : .indeterminate) + inMode: imageIDsToRetrieve.count > 1 ? .determinate : .indeterminate) // Retrieve image data if needed PwgSession.checkSession(ofUser: user) { [self] in - retrieveImageData(beforeAction: action) + retrieveData(ofImagesWithID: imageIDsToRetrieve, among: imageIDs, beforeAction: action) } failure: { [unowned self] error in retrieveImageDataError(error) } } - case .addToFavorites /* Add photos to favorites */, - .removeFromFavorites /* Remove photos from favorites */: + case .favorite /* Favorite photos */, + .unfavorite /* Unfavorite photos */: // Display HUD - totalNumberOfImages = selectedImageIds.count - let title = totalNumberOfImages > 1 ? NSLocalizedString("editImageDetailsHUD_updatingPlural", comment: "Updating Photos…") : NSLocalizedString("editImageDetailsHUD_updatingSingle", comment: "Updating Photo…") - navigationController?.showHUD(withTitle: title, inMode: totalNumberOfImages > 1 ? .determinate : .indeterminate) + let title = imageIDs.count > 1 ? + NSLocalizedString("editImageDetailsHUD_updatingPlural", comment: "Updating Photos…") : + NSLocalizedString("editImageDetailsHUD_updatingSingle", comment: "Updating Photo…") + navigationController?.showHUD(withTitle: title, inMode: imageIDs.count > 1 ? .determinate : .indeterminate) // Add or remove image from favorites - doAction(action) + performAction(action, withImageIDs: imageIDs) case .rotateImagesLeft /* Rotate photos 90° to left */, .rotateImagesRight /* Rotate photos 90° to right */: // Display HUD - totalNumberOfImages = selectedImageIds.count - let title = totalNumberOfImages > 1 ? NSLocalizedString("rotateSeveralImageHUD_rotating", comment: "Rotating Photos…") : NSLocalizedString("rotateSingleImageHUD_rotating", comment: "Rotating Photo…") - navigationController?.showHUD(withTitle: title, inMode: totalNumberOfImages > 1 ? .determinate : .indeterminate) + let title = imageIDs.count > 1 ? + NSLocalizedString("rotateSeveralImageHUD_rotating", comment: "Rotating Photos…") : + NSLocalizedString("rotateSingleImageHUD_rotating", comment: "Rotating Photo…") + navigationController?.showHUD(withTitle: title, inMode: imageIDs.count > 1 ? .determinate : .indeterminate) // Add or remove image from favorites - doAction(action) + performAction(action, withImageIDs: imageIDs) } } - private func doAction(_ action: pwgImageAction) { + private func performAction(_ action: pwgImageAction, withImageIDs imageIDs: Set) { switch action { case .edit /* Edit images parameters */: - editImages() + editImages(withIDs: imageIDs) case .delete /* Distinguish orphanes and ask for confirmation */: - askDeleteConfirmation(for: selectedImageIds) + askDeleteConfirmation(forImagesWithID: imageIDs) case .share /* Check Photo Library access rights */: // Display or update HUD if navigationController?.isShowingHUD() ?? false { navigationController?.updateHUD(title: NSLocalizedString("loadingHUD_label", comment: "Loading…"), inMode: .indeterminate) - } else if selectedImageIds.count > 200 { + } else if selectedImageIDs.count > 200 { navigationController?.showHUD(withTitle: NSLocalizedString("loadingHUD_label", comment: "Loading…"), inMode: .indeterminate) } // Prepare items to share in background queue DispatchQueue(label: "org.piwigo.share", qos: .userInitiated).async { - self.checkPhotoLibraryAccessBeforeShare() + self.checkPhotoLibraryAccessBeforeSharing(imagesWithID: imageIDs) } case .copyImages /* Copy images to Album */: - copyImagesToAlbum() + copyToAlbum(imagesWithID: imageIDs) case .moveImages /* Move images to album */: - moveImagesToAlbum() - case .addToFavorites: - addImageToFavorites() - case .removeFromFavorites: - removeImageFromFavorites() + moveToAlbum(imagesWithID: imageIDs) + case .favorite: + favorite(imagesWithID: imageIDs, total: Float(imageIDs.count)) + case .unfavorite: + unfavorite(imagesWithID: imageIDs, total: Float(imageIDs.count)) case .rotateImagesLeft: - rotateImages(by: 90.0) + rotateImages(withID: imageIDs, by: 90.0, total: Float(imageIDs.count)) case .rotateImagesRight: - rotateImages(by: -90.0) + rotateImages(withID: imageIDs, by: -90.0, total: Float(imageIDs.count)) } } - private func retrieveImageData(beforeAction action:pwgImageAction) { + private func retrieveData(ofImagesWithID someIDs: Set, among imageIDs: Set, + beforeAction action:pwgImageAction) { // Get image ID if any - guard let imageId = selectedImageIdsLoop.first else { + var remainingIDs = someIDs + guard let imageID = remainingIDs.first else { DispatchQueue.main.async { if action == .share { // Update or display HUD - self.doAction(action) + self.performAction(action, withImageIDs: imageIDs) } else { self.navigationController?.hideHUD() { [self] in - doAction(action) + performAction(action, withImageIDs: imageIDs) } } } @@ -373,18 +376,18 @@ extension AlbumViewController } // Image data are not complete when retrieved using pwg.categories.getImages - imageProvider.getInfos(forID: imageId, inCategoryId: self.albumData.pwgID) { [self] in + imageProvider.getInfos(forID: imageID, inCategoryId: self.albumData.pwgID) { [self] in // Image info retrieved - selectedImageIdsLoop.remove(imageId) + remainingIDs.remove(imageID) // Update HUD DispatchQueue.main.async { - let progress: Float = 1 - Float(self.selectedImageIdsLoop.count) / Float(self.totalNumberOfImages) + let progress: Float = 1 - Float(remainingIDs.count) / Float(imageIDs.count) self.navigationController?.updateHUD(withProgress: progress) } // Next image - retrieveImageData(beforeAction: action) + retrieveData(ofImagesWithID: remainingIDs, among: imageIDs, beforeAction: action) } failure: { [unowned self] error in retrieveImageDataError(error) } @@ -450,29 +453,29 @@ extension AlbumViewController: UIGestureRecognizerDelegate { // Get cell at touch position if let imageCell = collectionView.cellForItem(at: indexPath) as? ImageCollectionViewCell, - let imageId = imageCell.imageData?.pwgID + let imageID = imageCell.imageData?.pwgID { // Update the selection if not already done - if touchedImageIds.contains(imageId) { return } + if touchedImageIDs.contains(imageID) { return } // Store that the user touched this cell during this gesture - touchedImageIds.append(imageId) + touchedImageIDs.append(imageID) // Update the selection state - if !selectedImageIds.contains(imageId) { - selectedImageIds.insert(imageId) + if !selectedImageIDs.contains(imageID) { + selectedImageIDs.insert(imageID) imageCell.isSelection = true if imageCell.isFavorite { - selectedFavoriteIds.insert(imageId) + selectedFavoriteIDs.insert(imageID) } if imageCell.imageData.isVideo { - selectedVideosIds.insert(imageId) + selectedVideosIDs.insert(imageID) } } else { imageCell.isSelection = false - selectedImageIds.remove(imageId) - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) } // Update the navigation bar @@ -483,7 +486,7 @@ extension AlbumViewController: UIGestureRecognizerDelegate // Is this the end of the gesture? if gestureRecognizerState == .ended { // Clear list of touched images - touchedImageIds = [] + touchedImageIDs = [] // Update state of Select button if needed let selectState = updateSelectButton(ofSection: indexPath.section) diff --git a/piwigo/Album/Extensions/AlbumViewController+Share.swift b/piwigo/Album/Extensions/AlbumViewController+Share.swift index 4a5ace129..c544ff484 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Share.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Share.swift @@ -23,43 +23,35 @@ extension AlbumViewController // MARK: Share Images @objc func shareSelection() { - initSelection(beforeAction: .share) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .share) } - func checkPhotoLibraryAccessBeforeShare() { + func checkPhotoLibraryAccessBeforeSharing(imagesWithID imageIDs: Set) { // Check autorisation to access Photo Library (camera roll) if #available(iOS 14, *) { PhotosFetch.shared.checkPhotoLibraryAuthorizationStatus( for: PHAccessLevel.addOnly, for: self, onAccess: { [self] in // User allowed to save image in camera roll - presentShareImageViewController(withCameraRollAccess: true) + shareImages(withID: imageIDs, withCameraRollAccess: true) }, onDeniedAccess: { [self] in // User not allowed to save image in camera roll - DispatchQueue.main.async { [self] in - presentShareImageViewController(withCameraRollAccess: false) - } + shareImages(withID: imageIDs, withCameraRollAccess: false) }) } else { // Fallback on earlier versions PhotosFetch.shared.checkPhotoLibraryAccessForViewController(nil) { [self] in // User allowed to save image in camera roll - presentShareImageViewController(withCameraRollAccess: true) + shareImages(withID: imageIDs, withCameraRollAccess: true) } onDeniedAccess: { [self] in // User not allowed to save image in camera roll - if Thread.isMainThread { - self.presentShareImageViewController(withCameraRollAccess: false) - } else { - DispatchQueue.main.async(execute: { [self] in - presentShareImageViewController(withCameraRollAccess: false) - }) - } + shareImages(withID: imageIDs, withCameraRollAccess: false) } } } - func presentShareImageViewController(withCameraRollAccess hasCameraRollAccess: Bool) { + func shareImages(withID imageIDs: Set, withCameraRollAccess hasCameraRollAccess: Bool) { // To exclude some activity types var hasVideoItem = false var totalSize = Int64.zero @@ -67,14 +59,14 @@ extension AlbumViewController // Create new activity provider items to pass to the activity view controller var itemsToShare: [UIActivityItemProvider] = [] - // Loop over the selected images + // Loop over images // timeCounter = CFAbsoluteTimeGetCurrent() - for selectedImageId in selectedImageIds { + for imageID in imageIDs { autoreleasepool { - if let selectedImage = (images.fetchedObjects ?? []).first(where: {$0.pwgID == selectedImageId}) { - if selectedImage.isVideo { + if let image = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) { + if image.isVideo { // Case of a video - let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: selectedImage) + let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: image) // Use delegation to monitor the progress of the item method videoItemProvider.delegate = self @@ -84,11 +76,11 @@ extension AlbumViewController // To exclude some activities hasVideoItem = true - totalSize += selectedImage.fileSize + totalSize += image.fileSize } else { // Case of an image - let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: selectedImage) + let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: image) // Use delegation to monitor the progress of the item method imageItemProvider.delegate = self @@ -97,7 +89,7 @@ extension AlbumViewController itemsToShare.append(imageItemProvider) // To exclude some activities - totalSize += selectedImage.fileSize + totalSize += image.fileSize } } } @@ -163,7 +155,7 @@ extension AlbumViewController updateBarsInSelectMode() } else { // Check what to do with selection - if selectedImageIds.isEmpty { + if selectedImageIDs.isEmpty { cancelSelect() } else { setEnableStateOfButtons(true) @@ -182,6 +174,7 @@ extension AlbumViewController } // Present share image activity view controller + activityViewController.view.tag = count if let parent = self.parent as? AlbumViewController { activityViewController.popoverPresentationController?.barButtonItem = parent.shareBarButton } @@ -203,7 +196,8 @@ extension AlbumViewController: ShareImageActivityItemProviderDelegate func imageActivityItemProviderPreprocessingDidBegin(_ imageActivityItemProvider: UIActivityItemProvider?, withTitle title: String) { // Show HUD to let the user know the image is being downloaded in the background. - let detail = String(format: "%d / %d", totalNumberOfImages - selectedImageIds.count + 1, totalNumberOfImages) + let total = presentedViewController?.view.tag ?? 1 + let detail = total > 1 ? String(format: "%d / %d", total - selectedImageIDs.count + 1, total) : nil if presentedViewController?.isShowingHUD() ?? false { presentedViewController?.updateHUD(title: title, detail: detail) } else { @@ -221,22 +215,22 @@ extension AlbumViewController: ShareImageActivityItemProviderDelegate } func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, - withImageId imageId: Int64) { + withImageID imageID: Int64) { // Check activity item provider guard let imageActivityItemProvider = imageActivityItemProvider else { return } // Close HUD if imageActivityItemProvider.isCancelled { presentedViewController?.hideHUD { } - } else if selectedImageIds.contains(imageId) { + } else if selectedImageIDs.contains(imageID) { // Remove image from selection - selectedImageIds.remove(imageId) - selectedFavoriteIds.remove(imageId) - selectedVideosIds.remove(imageId) + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) updateBarsInSelectMode() // Close HUD if last image - if selectedImageIds.count == 0 { + if selectedImageIDs.count == 0 { presentedViewController?.updateHUDwithSuccess { [self] in self.presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { } } diff --git a/piwigo/Image/Extensions/ImageViewController+Edit.swift b/piwigo/Image/Extensions/ImageViewController+Edit.swift index 4693e2fc0..8e276627d 100644 --- a/piwigo/Image/Extensions/ImageViewController+Edit.swift +++ b/piwigo/Image/Extensions/ImageViewController+Edit.swift @@ -51,7 +51,7 @@ extension ImageViewController // MARK: - EditImageParamsDelegate Methods extension ImageViewController: EditImageParamsDelegate { - func didDeselectImage(withId imageId: Int64) { + func didDeselectImage(withID imageID: Int64) { // Should never be called when the properties of a single image are edited } diff --git a/piwigo/Image/Extensions/ImageViewController+Share.swift b/piwigo/Image/Extensions/ImageViewController+Share.swift index 5296fd942..9d4302215 100644 --- a/piwigo/Image/Extensions/ImageViewController+Share.swift +++ b/piwigo/Image/Extensions/ImageViewController+Share.swift @@ -154,7 +154,9 @@ extension ImageViewController: ShareImageActivityItemProviderDelegate { func imageActivityItemProviderPreprocessingDidBegin(_ imageActivityItemProvider: UIActivityItemProvider?, withTitle title: String) { // Show HUD to let the user know the image is being downloaded in the background. - presentedViewController?.showHUD(withTitle: title, buttonTitle: NSLocalizedString("alertCancelButton", comment: "Cancel"), buttonTarget: self, buttonSelector: #selector(cancelShareImage), inMode: .determinate) + let cancelButton = NSLocalizedString("alertCancelButton", comment: "Cancel") + presentedViewController?.showHUD(withTitle: title, buttonTitle: cancelButton, buttonTarget: self, + buttonSelector: #selector(cancelShareImage), inMode: .determinate) } func imageActivityItemProvider(_ imageActivityItemProvider: UIActivityItemProvider?, preprocessingProgressDidUpdate progress: Float) { @@ -162,7 +164,7 @@ extension ImageViewController: ShareImageActivityItemProviderDelegate presentedViewController?.updateHUD(withProgress: progress) } - func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, withImageId imageId: Int64) { + func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, withImageID imageID: Int64) { // Close HUD if imageActivityItemProvider?.isCancelled ?? false { presentedViewController?.hideHUD { } diff --git a/piwigo/Image/Parameters/Cells/EditImageThumbCollectionViewCell.swift b/piwigo/Image/Parameters/Cells/EditImageThumbCollectionViewCell.swift index 249d5bbb6..060ad4bd5 100644 --- a/piwigo/Image/Parameters/Cells/EditImageThumbCollectionViewCell.swift +++ b/piwigo/Image/Parameters/Cells/EditImageThumbCollectionViewCell.swift @@ -13,8 +13,8 @@ import UIKit import piwigoKit @objc protocol EditImageThumbnailDelegate: NSObjectProtocol { - func didDeselectImage(withId imageId: Int64) - func didRenameFileOfImage(withId imageId: Int64, andFilename fileName: String) + func didDeselectImage(withID imageID: Int64) + func didRenameFileOfImage(withId imageID: Int64, andFilename fileName: String) } class EditImageThumbCollectionViewCell: UICollectionViewCell @@ -34,7 +34,7 @@ class EditImageThumbCollectionViewCell: UICollectionViewCell @IBOutlet private weak var removeButtonView: UIView! @IBOutlet private weak var removeImageButton: UIButton! - private var imageId = Int64.zero + private var imageID = Int64.zero private var renameFileNameAction: UIAlertAction? private var oldFileName: String? @@ -81,7 +81,7 @@ class EditImageThumbCollectionViewCell: UICollectionViewCell else { return } // Store image ID - imageId = imageData.pwgID + imageID = imageData.pwgID // Image file name if imageData.fileName.isEmpty == false { @@ -206,7 +206,7 @@ class EditImageThumbCollectionViewCell: UICollectionViewCell topViewController?.showHUD(withTitle: NSLocalizedString("renameImageHUD_label", comment: "Renaming Original File…")) // Prepare parameters for renaming the image/video filename - let paramsDict: [String : Any] = ["image_id" : imageId, + let paramsDict: [String : Any] = ["image_id" : imageID, "file" : fileName, "single_value_mode" : "replace"] // Launch request @@ -242,7 +242,7 @@ class EditImageThumbCollectionViewCell: UICollectionViewCell imageFile.text = fileName // Update parent image view - delegate?.didRenameFileOfImage(withId: imageId, andFilename: fileName) + delegate?.didRenameFileOfImage(withId: imageID, andFilename: fileName) }) } } @@ -283,7 +283,7 @@ class EditImageThumbCollectionViewCell: UICollectionViewCell // MARK: - Remove Image from Selection @IBAction func removeImage() { // Notify this deselection to parent view - delegate?.didDeselectImage(withId: imageId) + delegate?.didDeselectImage(withID: imageID) } } diff --git a/piwigo/Image/Parameters/Cells/EditImageThumbTableViewCell.swift b/piwigo/Image/Parameters/Cells/EditImageThumbTableViewCell.swift index d2a24c24c..5466af001 100644 --- a/piwigo/Image/Parameters/Cells/EditImageThumbTableViewCell.swift +++ b/piwigo/Image/Parameters/Cells/EditImageThumbTableViewCell.swift @@ -12,7 +12,7 @@ import UIKit import piwigoKit @objc protocol EditImageThumbnailCellDelegate: NSObjectProtocol { - func didDeselectImage(withId imageId: Int64) + func didDeselectImage(withID imageID: Int64) func didRenameFileOfImage(_ imageData: Image) } @@ -97,19 +97,19 @@ extension EditImageThumbTableViewCell: UICollectionViewDelegateFlowLayout // MARK: - EditImageThumbnailDelegate Methods extension EditImageThumbTableViewCell: EditImageThumbnailDelegate { - @objc func didDeselectImage(withId imageId: Int64) { + @objc func didDeselectImage(withID imageID: Int64) { // Update data source - let newImages = images?.filter({ $0.pwgID != imageId }) + let newImages = images?.filter({ $0.pwgID != imageID }) images = newImages editImageThumbCollectionView.reloadData() // Deselect image in parent view - delegate?.didDeselectImage(withId: imageId) + delegate?.didDeselectImage(withID: imageID) } - @objc func didRenameFileOfImage(withId imageId: Int64, andFilename fileName: String) { + @objc func didRenameFileOfImage(withId imageID: Int64, andFilename fileName: String) { // Retrieve image data from cache - guard let imageToUpdate = images?.first(where: {$0.pwgID == imageId}) else { return } + guard let imageToUpdate = images?.first(where: {$0.pwgID == imageID}) else { return } // Update image in cache imageToUpdate.fileName = fileName diff --git a/piwigo/Image/Parameters/EditImageParamsViewController.swift b/piwigo/Image/Parameters/EditImageParamsViewController.swift index 1a6277ba5..4b3a36c73 100644 --- a/piwigo/Image/Parameters/EditImageParamsViewController.swift +++ b/piwigo/Image/Parameters/EditImageParamsViewController.swift @@ -13,7 +13,7 @@ import UIKit import piwigoKit @objc protocol EditImageParamsDelegate: NSObjectProtocol { - func didDeselectImage(withId imageId: Int64) + func didDeselectImage(withID imageID: Int64) func didChangeImageParameters(_ imageData: Image) func didFinishEditingParameters() } diff --git a/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+ThumbnailCell.swift b/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+ThumbnailCell.swift index c8e2e39e1..833e9d8ca 100644 --- a/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+ThumbnailCell.swift +++ b/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+ThumbnailCell.swift @@ -12,7 +12,7 @@ import piwigoKit // MARK: - EditImageThumbnailCellDelegate Methods extension EditImageParamsViewController: EditImageThumbnailCellDelegate { - func didDeselectImage(withId imageId: Int64) { + func didDeselectImage(withID imageID: Int64) { // Hide picker if needed let indexPath = IndexPath(row: EditImageParamsOrder.datePicker.rawValue, section: 0) if hasDatePicker { @@ -25,7 +25,7 @@ extension EditImageParamsViewController: EditImageThumbnailCellDelegate // Update data source let timeInterval = commonDateCreated.timeIntervalSince(oldCreationDate) - images.removeAll(where: {$0.pwgID == imageId}) + images.removeAll(where: {$0.pwgID == imageID}) // Update common creation date if needed oldCreationDate = Date(timeIntervalSinceReferenceDate: images[0].dateCreated) @@ -35,7 +35,7 @@ extension EditImageParamsViewController: EditImageThumbnailCellDelegate editImageParamsTableView.reloadData() // Deselect image in album view - delegate?.didDeselectImage(withId: imageId) + delegate?.didDeselectImage(withID: imageID) } func didRenameFileOfImage(_ imageData: Image) { diff --git a/piwigo/Image/Share/ShareImageActivityItemProvider.swift b/piwigo/Image/Share/ShareImageActivityItemProvider.swift index c33782def..2c8ebcffa 100644 --- a/piwigo/Image/Share/ShareImageActivityItemProvider.swift +++ b/piwigo/Image/Share/ShareImageActivityItemProvider.swift @@ -22,7 +22,7 @@ protocol ShareImageActivityItemProviderDelegate: NSObjectProtocol { func imageActivityItemProvider(_ imageActivityItemProvider: UIActivityItemProvider?, preprocessingProgressDidUpdate progress: Float) func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, - withImageId imageId: Int64) + withImageID imageID: Int64) func showError(withTitle title: String, andMessage message: String?) } @@ -38,8 +38,9 @@ class ShareImageActivityItemProvider: UIActivityItemProvider { private var cachedFileURL: URL? // URL of cached image file private var imageFileURL: URL // URL of shared image file private var isCancelledByUser = false // Flag updated when pressing Cancel - - // MARK: - Progress Faction + + + // MARK: - Progress Fraction private var _progressFraction: Float = 0.0 private var progressFraction: Float { get { @@ -107,7 +108,8 @@ class ShareImageActivityItemProvider: UIActivityItemProvider { // Notify the delegate on the main thread that the processing is beginning. DispatchQueue.main.async(execute: { - self.delegate?.imageActivityItemProviderPreprocessingDidBegin(self, withTitle: NSLocalizedString("downloadingImage", comment: "Downloading Photo")) + let title = NSLocalizedString("downloadingImage", comment: "Downloading Photo") + self.delegate?.imageActivityItemProviderPreprocessingDidBegin(self, withTitle: title) }) // Get the maximum accepted image size (infinity for largest) @@ -333,7 +335,7 @@ class ShareImageActivityItemProvider: UIActivityItemProvider { private func preprocessingDidEnd() { // Notify the delegate on the main thread that the processing is cancelled. DispatchQueue.main.async(execute: { - self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageId: self.imageData.pwgID) + self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageID: self.imageData.pwgID) }) } diff --git a/piwigo/Image/Share/ShareVideoActivityItemProvider.swift b/piwigo/Image/Share/ShareVideoActivityItemProvider.swift index 3101bb513..ded19154f 100644 --- a/piwigo/Image/Share/ShareVideoActivityItemProvider.swift +++ b/piwigo/Image/Share/ShareVideoActivityItemProvider.swift @@ -98,7 +98,8 @@ class ShareVideoActivityItemProvider: UIActivityItemProvider { // Notify the delegate on the main thread that the processing is beginning. DispatchQueue.main.async(execute: { - self.delegate?.imageActivityItemProviderPreprocessingDidBegin(self, withTitle: NSLocalizedString("downloadingVideo", comment: "Downloading Video")) + let title = NSLocalizedString("downloadingVideo", comment: "Downloading Video") + self.delegate?.imageActivityItemProviderPreprocessingDidBegin(self, withTitle: title) }) // Get the server ID and optimum available image size @@ -350,7 +351,7 @@ class ShareVideoActivityItemProvider: UIActivityItemProvider { private func preprocessingDidEnd() { // Notify the delegate on the main thread that the processing is cancelled. DispatchQueue.main.async(execute: { - self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageId: self.imageData.pwgID) + self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageID: self.imageData.pwgID) }) } diff --git a/piwigo/Resources/ar.lproj/Localizable.strings b/piwigo/Resources/ar.lproj/Localizable.strings index 4202a80a7..205d9da37 100644 --- a/piwigo/Resources/ar.lproj/Localizable.strings +++ b/piwigo/Resources/ar.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "حدد"; "categoryImageList_deselectButton" = "Deselect"; "categoryImageList_noDataError" = "خطأ لا توجد بيانات"; +"categoryImageList_share" = "Share"; +"categoryImageList_favorite" = "Favorite"; +"categoryImageList_unfavorite" = "Unfavorite"; // Albums "Discover" "categoryDiscover_title" = "Discover"; diff --git a/piwigo/Resources/da.lproj/Localizable.strings b/piwigo/Resources/da.lproj/Localizable.strings index 8e77e98e2..3138958d5 100644 --- a/piwigo/Resources/da.lproj/Localizable.strings +++ b/piwigo/Resources/da.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Vælg"; "categoryImageList_deselectButton" = "Fravælg"; "categoryImageList_noDataError" = "Fejl ingen Data"; +"categoryImageList_share" = "Del"; +"categoryImageList_favorite" = "Tilføj til favoritter"; +"categoryImageList_unfavorite" = "Fjern fra favorit"; // Albums "Discover" "categoryDiscover_title" = "Opdag"; diff --git a/piwigo/Resources/de.lproj/Localizable.strings b/piwigo/Resources/de.lproj/Localizable.strings index c6a925bc9..22ef57137 100644 --- a/piwigo/Resources/de.lproj/Localizable.strings +++ b/piwigo/Resources/de.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Wählen"; "categoryImageList_deselectButton" = "Auswahl aufheben"; "categoryImageList_noDataError" = "Fehler keine Daten"; +"categoryImageList_share" = "Teilen"; +"categoryImageList_favorite" = "Favorit"; +"categoryImageList_unfavorite" = "Aus Favoriten entfernen"; // Albums "Discover" "categoryDiscover_title" = "Entdecken"; diff --git a/piwigo/Resources/en.lproj/Localizable.strings b/piwigo/Resources/en.lproj/Localizable.strings index 114b05c1b..60c1fd7c7 100644 --- a/piwigo/Resources/en.lproj/Localizable.strings +++ b/piwigo/Resources/en.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Select"; "categoryImageList_deselectButton" = "Deselect"; "categoryImageList_noDataError" = "Error No Data"; +"categoryImageList_share" = "Share"; +"categoryImageList_favorite" = "Favorite"; +"categoryImageList_unfavorite" = "Unfavorite"; // Albums "Discover" "categoryDiscover_title" = "Discover"; diff --git a/piwigo/Resources/es.lproj/Localizable.strings b/piwigo/Resources/es.lproj/Localizable.strings index 319276686..50c5c2ec5 100644 --- a/piwigo/Resources/es.lproj/Localizable.strings +++ b/piwigo/Resources/es.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Seleccionar"; "categoryImageList_deselectButton" = "Deseleccionar"; "categoryImageList_noDataError" = "Error Sin datos"; +"categoryImageList_share" = "Compartir"; +"categoryImageList_favorite" = "Añadir a favoritos"; +"categoryImageList_unfavorite" = "Eliminar de favoritos"; // Albums "Discover" "categoryDiscover_title" = "Descubre"; diff --git a/piwigo/Resources/fr.lproj/Localizable.strings b/piwigo/Resources/fr.lproj/Localizable.strings index da3a7f3b5..26aa3f6bc 100644 --- a/piwigo/Resources/fr.lproj/Localizable.strings +++ b/piwigo/Resources/fr.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Sélectionner"; "categoryImageList_deselectButton" = "Désélectionner"; "categoryImageList_noDataError" = "Erreur aucune donnée"; +"categoryImageList_share" = "Partager"; +"categoryImageList_favorite" = "Ajouter aux favoris"; +"categoryImageList_unfavorite" = "Retirer des favoris"; // Albums "Discover" "categoryDiscover_title" = "Découvrir"; diff --git a/piwigo/Resources/hu.lproj/Localizable.strings b/piwigo/Resources/hu.lproj/Localizable.strings index 08ca0a2ec..959ad2e98 100644 --- a/piwigo/Resources/hu.lproj/Localizable.strings +++ b/piwigo/Resources/hu.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Kiválaszt"; "categoryImageList_deselectButton" = "Elvet"; "categoryImageList_noDataError" = "Hiba: nincs adat"; +"categoryImageList_share" = "Megosztás"; +"categoryImageList_favorite" = "Kedvenc"; +"categoryImageList_unfavorite" = "Kedvencek"; // Albums "Discover" "categoryDiscover_title" = "Felfedezés"; diff --git a/piwigo/Resources/id.lproj/Localizable.strings b/piwigo/Resources/id.lproj/Localizable.strings index 83554cd5f..0857af18c 100644 --- a/piwigo/Resources/id.lproj/Localizable.strings +++ b/piwigo/Resources/id.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Pilih"; "categoryImageList_deselectButton" = "Deselect"; "categoryImageList_noDataError" = "Galat Tidak Ada Data"; +"categoryImageList_share" = "Share"; +"categoryImageList_favorite" = "Favorite"; +"categoryImageList_unfavorite" = "Unfavorite"; // Albums "Discover" "categoryDiscover_title" = "Discover"; diff --git a/piwigo/Resources/it.lproj/Localizable.strings b/piwigo/Resources/it.lproj/Localizable.strings index b60aa28b9..2d7e2a712 100644 --- a/piwigo/Resources/it.lproj/Localizable.strings +++ b/piwigo/Resources/it.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Seleziona"; "categoryImageList_deselectButton" = "Deseleziona"; "categoryImageList_noDataError" = "Errore dati"; +"categoryImageList_share" = "Condividi"; +"categoryImageList_favorite" = "Aggiungi ai preferiti"; +"categoryImageList_unfavorite" = "Rimuovi dai preferiti"; // Albums "Discover" "categoryDiscover_title" = "Scoprire"; diff --git a/piwigo/Resources/ja.lproj/Localizable.strings b/piwigo/Resources/ja.lproj/Localizable.strings index fb4e153aa..064a8df9b 100644 --- a/piwigo/Resources/ja.lproj/Localizable.strings +++ b/piwigo/Resources/ja.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "選択"; "categoryImageList_deselectButton" = "選択を解除"; "categoryImageList_noDataError" = "エラー データがありません"; +"categoryImageList_share" = "シェア"; +"categoryImageList_favorite" = "お気に入りに追加"; +"categoryImageList_unfavorite" = "お気に入りから削除する"; // Albums "Discover" "categoryDiscover_title" = "探す"; diff --git a/piwigo/Resources/nl.lproj/Localizable.strings b/piwigo/Resources/nl.lproj/Localizable.strings index 288de978c..3dd8c5a70 100644 --- a/piwigo/Resources/nl.lproj/Localizable.strings +++ b/piwigo/Resources/nl.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Selecteer"; "categoryImageList_deselectButton" = "Deselecteren"; "categoryImageList_noDataError" = "Fout geen gegevens"; +"categoryImageList_share" = "Deel"; +"categoryImageList_favorite" = "Favoriet"; +"categoryImageList_unfavorite" = "Niet favoriet"; // Albums "Discover" "categoryDiscover_title" = "Ontdek"; diff --git a/piwigo/Resources/pl.lproj/Localizable.strings b/piwigo/Resources/pl.lproj/Localizable.strings index c6b5511be..4b80abda9 100644 --- a/piwigo/Resources/pl.lproj/Localizable.strings +++ b/piwigo/Resources/pl.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Wybierz"; "categoryImageList_deselectButton" = "Odznacz"; "categoryImageList_noDataError" = "Błąd. Brak danych"; +"categoryImageList_share" = "Udostępnij"; +"categoryImageList_favorite" = "Dodaj do ulubionych"; +"categoryImageList_unfavorite" = "Usuń z ulubionych"; // Albums "Discover" "categoryDiscover_title" = "Odkrywaj"; @@ -606,7 +609,7 @@ "shareFailError_title" = "Udostępnienie nie powiodło się"; "shareMetadataError_message" = "Nie można usunąć prywatnych metadanych"; -"shareFailError_tooLarge" = "Wybór zbyt duży, by go udostępnić"; +"shareFailError_tooLarge" = "Wybór zbyt duży, aby go udostępnić"; // =========================================================================== // ==> LOCAL ALBUMS & IMAGES / Photo Library diff --git a/piwigo/Resources/ru.lproj/Localizable.strings b/piwigo/Resources/ru.lproj/Localizable.strings index b12bf53af..dd87ea0cf 100644 --- a/piwigo/Resources/ru.lproj/Localizable.strings +++ b/piwigo/Resources/ru.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Выбрать"; "categoryImageList_deselectButton" = "Отменить выбор"; "categoryImageList_noDataError" = "Ошибка: нет данных"; +"categoryImageList_share" = "Поделиться"; +"categoryImageList_favorite" = "Добавить в избранное"; +"categoryImageList_unfavorite" = "Удалить из избранного"; // Albums "Discover" "categoryDiscover_title" = "Обзор"; diff --git a/piwigo/Resources/sv.lproj/Localizable.strings b/piwigo/Resources/sv.lproj/Localizable.strings index 1cdd66e98..3a109ba25 100644 --- a/piwigo/Resources/sv.lproj/Localizable.strings +++ b/piwigo/Resources/sv.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "Välj"; "categoryImageList_deselectButton" = "Avmarkera"; "categoryImageList_noDataError" = "Fel inga Data"; +"categoryImageList_share" = "Aktie"; +"categoryImageList_favorite" = "Lägg till i favoriter"; +"categoryImageList_unfavorite" = "Ta bort från favorit"; // Albums "Discover" "categoryDiscover_title" = "Upptäck"; diff --git a/piwigo/Resources/zh-Hans.lproj/Localizable.strings b/piwigo/Resources/zh-Hans.lproj/Localizable.strings index 67bb37a4d..871feefc8 100644 --- a/piwigo/Resources/zh-Hans.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hans.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "选择"; "categoryImageList_deselectButton" = "反选"; "categoryImageList_noDataError" = "错误:没有数据"; +"categoryImageList_share" = "共享"; +"categoryImageList_favorite" = "添加到收藏夹"; +"categoryImageList_unfavorite" = "从收藏中移除"; // Albums "Discover" "categoryDiscover_title" = "探索"; diff --git a/piwigo/Resources/zh-Hant.lproj/Localizable.strings b/piwigo/Resources/zh-Hant.lproj/Localizable.strings index b70825781..18c4fe39e 100644 --- a/piwigo/Resources/zh-Hant.lproj/Localizable.strings +++ b/piwigo/Resources/zh-Hant.lproj/Localizable.strings @@ -155,6 +155,9 @@ "categoryImageList_selectButton" = "選取"; "categoryImageList_deselectButton" = "取消選取"; "categoryImageList_noDataError" = "錯誤 無資料"; +"categoryImageList_share" = "分享到"; +"categoryImageList_favorite" = "加入我的最愛"; +"categoryImageList_unfavorite" = "從我的最愛移除"; // Albums "Discover" "categoryDiscover_title" = "探索"; From dfa54953ebd65e7e99656a3a0a277bb15f38cf5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Tue, 20 Aug 2024 22:00:47 +0200 Subject: [PATCH 37/55] Version 3.2.2 build 587 for TestFlight testing --- piwigo/Info.plist | 2 +- piwigoKit/Info.plist | 2 +- uploadKit/Info.plist | 2 +- uploadKit/Supporting Files/VideoMetadata.swift | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/piwigo/Info.plist b/piwigo/Info.plist index 7331d9d3b..bb2bd3f7e 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -25,7 +25,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 586 + 587 INIntentsSupported AutoUploadIntent diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index 45e5035d6..d436dd19a 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 3.2.2 CFBundleVersion - 588 + 589 diff --git a/uploadKit/Info.plist b/uploadKit/Info.plist index 8d1df241c..716ab767e 100644 --- a/uploadKit/Info.plist +++ b/uploadKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.2.1 CFBundleVersion - 406 + 407 diff --git a/uploadKit/Supporting Files/VideoMetadata.swift b/uploadKit/Supporting Files/VideoMetadata.swift index 304b9b06f..6a7008522 100644 --- a/uploadKit/Supporting Files/VideoMetadata.swift +++ b/uploadKit/Supporting Files/VideoMetadata.swift @@ -17,9 +17,9 @@ extension Array where Element == AVMetadataItem { var locationID = AVMetadataIdentifier.commonIdentifierLocation var locations = AVMetadataItem.metadataItems(from: metadata, filteredByIdentifier: locationID) if let location = locations.first { - if let position = location.stringValue { +// if let position = location.stringValue { // debugPrint("position => \(position)") - } +// } return true } From f406db626c584f1c7d4254ea846f8ef8aba4432d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 14:34:12 +0200 Subject: [PATCH 38/55] Speeds up compilation, fixes airplay.video deprecated symbol --- piwigo.xcodeproj/project.pbxproj | 6 +--- .../xcshareddata/xcschemes/piwigo.xcscheme | 2 +- .../xcschemes/piwigoAppPreviews.xcscheme | 2 +- .../xcschemes/piwigoIntents.xcscheme | 2 +- .../xcshareddata/xcschemes/piwigoKit.xcscheme | 2 +- .../xcschemes/piwigoScreenshots.xcscheme | 2 +- .../xcschemes/piwigoWebAPI.xcscheme | 2 +- .../xcshareddata/xcschemes/uploadKit.xcscheme | 2 +- .../SelectCategoryViewController+Images.swift | 2 +- .../AlbumViewController+DataSource.swift | 2 +- .../AlbumViewController+FlowLayout.swift | 8 +++--- .../AlbumViewController+Rotate.swift | 6 ++-- .../AlbumViewController+Scroll.swift | 2 +- .../AlbumViewController+Select.swift | 2 +- .../ImagePreviewViewController.swift | 3 +- piwigo/Image/ImageViewController.storyboard | 10 +++---- .../EditImageParamsViewController.swift | 4 +-- ...itImageParamsViewController+Keyboard.swift | 3 +- piwigo/Image/Share/ShareUtilities.swift | 9 ++---- piwigo/Login/LoginUtilities.swift | 2 +- .../Login/LoginViewController+Keyboard.swift | 3 +- .../airplay.video.imageset/Contents.json | 26 ++++++++++++++++++ .../airplay.video.imageset/airplayvideo.png | Bin 0 -> 1115 bytes .../airplayvideo@2x.png | Bin 0 -> 2314 bytes .../airplayvideo@3x.png | Bin 0 -> 3704 bytes .../Privacy/ShareMetadataViewController.swift | 18 ++++++++---- piwigo/Supporting Files/SceneDelegate.swift | 8 +++--- ...LocalImagesViewController+FlowLayout.swift | 2 +- .../Extensions/UploadManager+Video.swift | 15 +++++----- .../Supporting Files/VideoMetadata.swift | 2 +- 30 files changed, 88 insertions(+), 59 deletions(-) create mode 100644 piwigo/Resources/Images.xcassets/images/airplay.video.imageset/Contents.json create mode 100644 piwigo/Resources/Images.xcassets/images/airplay.video.imageset/airplayvideo.png create mode 100644 piwigo/Resources/Images.xcassets/images/airplay.video.imageset/airplayvideo@2x.png create mode 100644 piwigo/Resources/Images.xcassets/images/airplay.video.imageset/airplayvideo@3x.png diff --git a/piwigo.xcodeproj/project.pbxproj b/piwigo.xcodeproj/project.pbxproj index e22d64799..417527f32 100644 --- a/piwigo.xcodeproj/project.pbxproj +++ b/piwigo.xcodeproj/project.pbxproj @@ -2753,7 +2753,7 @@ attributes = { BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1250; - LastUpgradeCheck = 1530; + LastUpgradeCheck = 1600; ORGANIZATIONNAME = Piwigo.org; TargetAttributes = { AD084E452659A27100159FE1 = { @@ -4301,7 +4301,6 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; @@ -4375,7 +4374,6 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; @@ -4431,7 +4429,6 @@ D82B8CDF1A67820A000E47CA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; @@ -4503,7 +4500,6 @@ D82B8CE01A67820A000E47CA /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = "$(inherited)"; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; diff --git a/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme b/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme index 292591fa9..d2680a74b 100644 --- a/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme +++ b/piwigo.xcodeproj/xcshareddata/xcschemes/piwigo.xcscheme @@ -1,6 +1,6 @@ NSMutableAttributedString { let desc = NSMutableAttributedString(attributedString: albumData.comment) - let wholeRange = NSRange(location: 0, length: desc.string.count) + let wholeRange = NSRange(location: 0, length: albumData.comment.string.count) let style = NSMutableParagraphStyle() style.alignment = NSTextAlignment.center let attributes = [ diff --git a/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift b/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift index ac83d9fb8..b33ee7f47 100644 --- a/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift +++ b/piwigo/Album/Extensions/AlbumViewController+FlowLayout.swift @@ -15,11 +15,11 @@ extension AlbumViewController: UICollectionViewDelegateFlowLayout { func getAlbumCellSize() -> CGSize { if AlbumVars.shared.displayAlbumDescriptions { - let albumWidth = AlbumUtilities.albumWidth(forView: collectionView, maxWidth: 384.0) + let albumWidth = AlbumUtilities.albumWidth(forView: collectionView, maxWidth: CGFloat(384)) // debugPrint("••> getAlbumCellSize: \(albumWidth) x 156.5 points") return CGSize(width: albumWidth, height: 156.5) } else { - let albumWidth = AlbumUtilities.albumWidth(forView: collectionView, maxWidth: 200.0) + let albumWidth = AlbumUtilities.albumWidth(forView: collectionView, maxWidth: CGFloat(200)) let albumHeight = albumWidth * 2 / 3 + 50 // debugPrint("••> getAlbumCellSize: \(albumWidth) x \(albumHeight) points") return CGSize(width: albumWidth, height: albumHeight) @@ -123,8 +123,8 @@ extension AlbumViewController: UICollectionViewDelegateFlowLayout if AlbumVars.shared.displayAlbumDescriptions { return UIEdgeInsets.zero } else { - return UIEdgeInsets(top: 0, left: AlbumUtilities.kAlbumMarginsSpacing, - bottom: 0, right: AlbumUtilities.kAlbumMarginsSpacing) + return UIEdgeInsets(top: CGFloat.zero, left: AlbumUtilities.kAlbumMarginsSpacing, + bottom: CGFloat.zero, right: AlbumUtilities.kAlbumMarginsSpacing) } default /* Images */: return UIEdgeInsets.zero diff --git a/piwigo/Album/Extensions/AlbumViewController+Rotate.swift b/piwigo/Album/Extensions/AlbumViewController+Rotate.swift index c2dd17dce..a08d7d69c 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Rotate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Rotate.swift @@ -79,7 +79,8 @@ extension AlbumViewController } // Get image data - guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { + guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) + else { // Forget this image remainingIDs.removeFirst() selectedImageIDs.remove(imageID) @@ -113,7 +114,8 @@ extension AlbumViewController self.navigationController?.updateHUD(withProgress: progress) // Rotate cell image - for cell in (self.collectionView?.visibleCells ?? []) { + let visibleCells = self.collectionView?.visibleCells ?? [] + for cell in visibleCells { if let cell = cell as? ImageCollectionViewCell, cell.imageData.pwgID == imageID, let updatedImage = self.images.fetchedObjects?.filter({$0.pwgID == imageID}).first { cell.config(with: updatedImage, placeHolder: self.imagePlaceHolder, diff --git a/piwigo/Album/Extensions/AlbumViewController+Scroll.swift b/piwigo/Album/Extensions/AlbumViewController+Scroll.swift index c1b318058..815d4346b 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Scroll.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Scroll.swift @@ -14,7 +14,7 @@ extension AlbumViewController: UIScrollViewDelegate { func scrollViewDidScroll(_ scrollView: UIScrollView) { // Show/hide navigation bar border - var topSpace = navigationController?.navigationBar.bounds.height ?? 0 + var topSpace: CGFloat = navigationController?.navigationBar.bounds.height ?? 0 if #available(iOS 13, *) { topSpace += view.window?.windowScene?.statusBarManager?.statusBarFrame.height ?? 0 } else { diff --git a/piwigo/Album/Extensions/AlbumViewController+Select.swift b/piwigo/Album/Extensions/AlbumViewController+Select.swift index abad9f51d..231a37e63 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Select.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Select.swift @@ -382,7 +382,7 @@ extension AlbumViewController // Update HUD DispatchQueue.main.async { - let progress: Float = 1 - Float(remainingIDs.count) / Float(imageIDs.count) + let progress: Float = Float(1) - Float(remainingIDs.count) / Float(imageIDs.count) self.navigationController?.updateHUD(withProgress: progress) } diff --git a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift index f590479fd..55a184a95 100644 --- a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift +++ b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift @@ -21,7 +21,8 @@ class ImagePreviewViewController: UIViewController // Retrieve image let viewSize = view.bounds.size let scale = view.traitCollection.displayScale - aspectRatio = imageData.fullRes?.aspectRatio ?? imageData.sizes.medium?.aspectRatio ?? imageData.sizes.thumb?.aspectRatio ?? 1.0 + let sizes = imageData.sizes + aspectRatio = sizes.medium?.aspectRatio ?? sizes.thumb?.aspectRatio ?? 1.0 debugPrint("aspect ratio: \(aspectRatio)") var previewSize = pwgImageSize(rawValue: ImageVars.shared.defaultImagePreviewSize) ?? .medium if imageData.isVideo, previewSize == .fullRes { diff --git a/piwigo/Image/ImageViewController.storyboard b/piwigo/Image/ImageViewController.storyboard index 0980ee3ce..33436e94e 100644 --- a/piwigo/Image/ImageViewController.storyboard +++ b/piwigo/Image/ImageViewController.storyboard @@ -1,9 +1,9 @@ - + - + @@ -169,10 +169,10 @@ + - - + @@ -328,7 +328,7 @@ - + diff --git a/piwigo/Image/Parameters/EditImageParamsViewController.swift b/piwigo/Image/Parameters/EditImageParamsViewController.swift index 4b3a36c73..9d0c174d1 100644 --- a/piwigo/Image/Parameters/EditImageParamsViewController.swift +++ b/piwigo/Image/Parameters/EditImageParamsViewController.swift @@ -169,8 +169,8 @@ class EditImageParamsViewController: UIViewController preferredContentSize = CGSize(width: pwgPadSubViewWidth, height: ceil(mainScreenBounds.height * 2 / 3)) let navBarHeight = navigationController?.navigationBar.bounds.size.height ?? 0.0 - editImageParamsTableView.contentInset = UIEdgeInsets(top: 0.0, left: 0.0, - bottom: navBarHeight, right: 0.0) + editImageParamsTableView.contentInset = UIEdgeInsets(top: CGFloat.zero, left: CGFloat.zero, + bottom: navBarHeight, right: CGFloat.zero) } // Reload table view diff --git a/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+Keyboard.swift b/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+Keyboard.swift index 42e6b8268..250546270 100644 --- a/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+Keyboard.swift +++ b/piwigo/Image/Parameters/Extensions/EditImageParamsViewController+Keyboard.swift @@ -27,7 +27,8 @@ extension EditImageParamsViewController let viewIntersection = convertedViewFrame.intersection(convertedKeyboardFrameEnd) if viewIntersection.height > 0 { // Extend the content view to allow full scrolling - editImageParamsTableView.contentInset = UIEdgeInsets(top: 0.0, left: 0.0, bottom: viewIntersection.height, right: 0.0) + editImageParamsTableView.contentInset = UIEdgeInsets(top: CGFloat.zero, left: CGFloat.zero, + bottom: viewIntersection.height, right: CGFloat.zero) } } diff --git a/piwigo/Image/Share/ShareUtilities.swift b/piwigo/Image/Share/ShareUtilities.swift index d87bd24d2..127de618d 100644 --- a/piwigo/Image/Share/ShareUtilities.swift +++ b/piwigo/Image/Share/ShareUtilities.swift @@ -245,13 +245,8 @@ class ShareUtilities { // MARK: - UIActivityType Extensions -extension UIActivity.ActivityType: Comparable { - - // Allows to compare and sort activity types - public static func < (lhs: UIActivity.ActivityType, rhs: UIActivity.ActivityType) -> Bool { - lhs.rawValue < rhs.rawValue - } - +extension UIActivity.ActivityType +{ // Return the maximum resolution accepted for some activity types func imageMaxSize() -> Int { // Get the maximum image size according to the activity type (infinity if no limit) diff --git a/piwigo/Login/LoginUtilities.swift b/piwigo/Login/LoginUtilities.swift index e180a764d..58e5ba2a9 100644 --- a/piwigo/Login/LoginUtilities.swift +++ b/piwigo/Login/LoginUtilities.swift @@ -115,7 +115,7 @@ class LoginUtilities: NSObject { } // Calculate number of thumbnails per row for that selection - let minNberOfImages = AlbumUtilities.imagesPerRowInPortrait(forMaxWidth: (pwgImageSize(rawValue: AlbumVars.shared.defaultThumbnailSize) ?? .thumb).minPoints) + let minNberOfImages: Int = AlbumUtilities.imagesPerRowInPortrait(forMaxWidth: (pwgImageSize(rawValue: AlbumVars.shared.defaultThumbnailSize) ?? .thumb).minPoints) // Make sure that default number fits inside selected range AlbumVars.shared.thumbnailsPerRowInPortrait = max(AlbumVars.shared.thumbnailsPerRowInPortrait, minNberOfImages); diff --git a/piwigo/Login/LoginViewController+Keyboard.swift b/piwigo/Login/LoginViewController+Keyboard.swift index c26725e9d..e9d099f3f 100644 --- a/piwigo/Login/LoginViewController+Keyboard.swift +++ b/piwigo/Login/LoginViewController+Keyboard.swift @@ -31,7 +31,8 @@ extension LoginViewController // Update vertical inset and offset if needed if missingHeight > CGFloat.zero { // Update vertical inset and offset - let insets = UIEdgeInsets(top: 0.0, left: 0.0, bottom: missingHeight, right: 0.0) + let insets = UIEdgeInsets(top: CGFloat.zero, left: CGFloat.zero, + bottom: missingHeight, right: CGFloat.zero) scrollView.contentInset = insets let point = CGPointMake(0, oldVertOffset + missingHeight) scrollView.setContentOffset(point, animated: true) diff --git a/piwigo/Resources/Images.xcassets/images/airplay.video.imageset/Contents.json b/piwigo/Resources/Images.xcassets/images/airplay.video.imageset/Contents.json new file mode 100644 index 000000000..29cb42973 --- /dev/null +++ b/piwigo/Resources/Images.xcassets/images/airplay.video.imageset/Contents.json @@ -0,0 +1,26 @@ +{ + "images" : [ + { + "filename" : "airplayvideo.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "airplayvideo@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "airplayvideo@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "template-rendering-intent" : "template" + } +} diff --git a/piwigo/Resources/Images.xcassets/images/airplay.video.imageset/airplayvideo.png b/piwigo/Resources/Images.xcassets/images/airplay.video.imageset/airplayvideo.png new file mode 100644 index 0000000000000000000000000000000000000000..d047177a155e4af5a19a0199d6f6424b0451babd GIT binary patch literal 1115 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 CWLi=H literal 0 HcmV?d00001 diff --git a/piwigo/Settings/Privacy/ShareMetadataViewController.swift b/piwigo/Settings/Privacy/ShareMetadataViewController.swift index 84e132b72..e4765dd63 100644 --- a/piwigo/Settings/Privacy/ShareMetadataViewController.swift +++ b/piwigo/Settings/Privacy/ShareMetadataViewController.swift @@ -219,8 +219,10 @@ class ShareMetadataViewController: UIViewController, UITableViewDelegate, UITabl activitiesNotSharing.append(activity) // Sort list of activities - activitiesSharingMetadata = activitiesSharing.sorted() - activitiesNotSharingMetadata = activitiesNotSharing.sorted() + activitiesSharingMetadata = activitiesSharing.map({$0.rawValue}).sorted() + .map({UIActivity.ActivityType(rawValue: $0)}) + activitiesNotSharingMetadata = activitiesNotSharing.map({$0.rawValue}).sorted() + .map({UIActivity.ActivityType(rawValue: $0)}) // Determine new indexPath of tapped activity let index = activitiesNotSharingMetadata.firstIndex(of: activity) @@ -247,8 +249,10 @@ class ShareMetadataViewController: UIViewController, UITableViewDelegate, UITabl activitiesSharing.append(activity) // Sort list of activities - activitiesSharingMetadata = activitiesSharing.sorted() - activitiesNotSharingMetadata = activitiesNotSharing.sorted() + activitiesSharingMetadata = activitiesSharing.map({$0.rawValue}).sorted() + .map({UIActivity.ActivityType(rawValue: $0)}) + activitiesNotSharingMetadata = activitiesNotSharing.map({$0.rawValue}).sorted() + .map({UIActivity.ActivityType(rawValue: $0)}) // Determine new indexPath of tapped activity let index = activitiesSharingMetadata.firstIndex(of: activity) @@ -362,8 +366,10 @@ class ShareMetadataViewController: UIViewController, UITableViewDelegate, UITabl activitiesNotSharing.append(pwgActivityTypeOther) } - activitiesSharingMetadata = activitiesSharing.sorted() - activitiesNotSharingMetadata = activitiesNotSharing.sorted() + activitiesSharingMetadata = activitiesSharing.map({$0.rawValue}).sorted() + .map({UIActivity.ActivityType(rawValue: $0)}) + activitiesNotSharingMetadata = activitiesNotSharing.map({$0.rawValue}).sorted() + .map({UIActivity.ActivityType(rawValue: $0)}) } private func switchActivity(_ activity: UIActivity.ActivityType, toState newState: Bool) { diff --git a/piwigo/Supporting Files/SceneDelegate.swift b/piwigo/Supporting Files/SceneDelegate.swift index 735d6d043..2f1d28a71 100644 --- a/piwigo/Supporting Files/SceneDelegate.swift +++ b/piwigo/Supporting Files/SceneDelegate.swift @@ -49,8 +49,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // Get other existing scenes of the main screen let otherScenes = UIApplication.shared.connectedScenes - .filter({$0.session.role == .windowApplication}) - .filter({$0.session.persistentIdentifier != session.persistentIdentifier}) + .filter({($0.session.role == .windowApplication) && + ($0.session.persistentIdentifier != session.persistentIdentifier)}) // Determine the user activity from a new connection or from a session's state restoration. guard let userActivity = connectionOptions.userActivities.first ?? session.stateRestorationActivity else { @@ -81,8 +81,8 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { // Did user create other scenes during the migration? let otherScenes = UIApplication.shared.connectedScenes - .filter({$0.session.role == .windowApplication}) - .filter({$0.session.persistentIdentifier != session.persistentIdentifier}) + .filter({($0.session.role == .windowApplication) && + ($0.session.persistentIdentifier != session.persistentIdentifier)}) otherScenes.forEach { scene in if let windowScene = (scene as? UIWindowScene) { // Replace migration with album view controller diff --git a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+FlowLayout.swift b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+FlowLayout.swift index 167548567..1f6b0dade 100644 --- a/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+FlowLayout.swift +++ b/piwigo/Upload/Pick Local Images/Extensions/LocalImagesViewController+FlowLayout.swift @@ -31,7 +31,7 @@ extension LocalImagesViewController: UICollectionViewDelegateFlowLayout } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { - return UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0) + return UIEdgeInsets(top: CGFloat(10), left: CGFloat.zero, bottom: CGFloat(10), right: CGFloat.zero) } func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { diff --git a/uploadKit/Extensions/UploadManager+Video.swift b/uploadKit/Extensions/UploadManager+Video.swift index 7b48c0d1b..79d312524 100644 --- a/uploadKit/Extensions/UploadManager+Video.swift +++ b/uploadKit/Extensions/UploadManager+Video.swift @@ -271,28 +271,29 @@ extension UploadManager { // <<==== End of code for debugging // resultHandler performed on another thread! + let error = info?[PHImageErrorKey] as? Error if self.isExecutingBackgroundUploadTask { // print("\(self.dbg()) exits retrieveVideoAssetFrom in", queueName()) // Any error? - if info?[PHImageErrorKey] != nil { - completionHandler(nil, options, info?[PHImageErrorKey] as? Error) + guard let error = error else { + completionHandler(avasset, options, nil) return } - completionHandler(avasset, options, nil) + completionHandler(nil, options, error) } else { self.backgroundQueue.async { // print("\(self.dbg()) exits retrieveVideoAssetFrom in", queueName()) // Any error? - if info?[PHImageErrorKey] != nil { - completionHandler(nil, options, info?[PHImageErrorKey] as? Error) + guard let error = error else { + completionHandler(avasset, options, nil) return } - completionHandler(avasset, options, nil) + completionHandler(nil, options, error) } } }) } - + // MARK: - Export Video /// - Determine video size and reduce it if requested diff --git a/uploadKit/Supporting Files/VideoMetadata.swift b/uploadKit/Supporting Files/VideoMetadata.swift index 6a7008522..a683ac0fc 100644 --- a/uploadKit/Supporting Files/VideoMetadata.swift +++ b/uploadKit/Supporting Files/VideoMetadata.swift @@ -16,7 +16,7 @@ extension Array where Element == AVMetadataItem { // Common Metadata Identifiers var locationID = AVMetadataIdentifier.commonIdentifierLocation var locations = AVMetadataItem.metadataItems(from: metadata, filteredByIdentifier: locationID) - if let location = locations.first { + if let _ = locations.first { // if let position = location.stringValue { // debugPrint("position => \(position)") // } From 4f8b88f90598ab540017be802ab04be43575c12a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 17:30:18 +0200 Subject: [PATCH 39/55] Fixes wrong date range of image groups when the number of images is greater than 20. --- .../AlbumViewController+DataSource.swift | 7 ++--- .../AlbumViewController+FetchResults.swift | 26 +++++++++++++++---- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+DataSource.swift b/piwigo/Album/Extensions/AlbumViewController+DataSource.swift index e4827250e..cd0d7d353 100644 --- a/piwigo/Album/Extensions/AlbumViewController+DataSource.swift +++ b/piwigo/Album/Extensions/AlbumViewController+DataSource.swift @@ -117,18 +117,19 @@ extension AlbumViewController: UICollectionViewDataSource let imageSection = indexPath.section - 1 var imagesInSection = [Image]() let nberOfImageInSection = collectionView.numberOfItems(inSection: indexPath.section) - if nberOfImageInSection <= 10 { + if nberOfImageInSection <= 20 { // Collect all images - for item in 0.. Date: Sun, 25 Aug 2024 17:37:05 +0200 Subject: [PATCH 40/55] Fixes view constraints --- piwigo/Album/ImageCollection/ImageFooterReusableView.swift | 3 --- 1 file changed, 3 deletions(-) diff --git a/piwigo/Album/ImageCollection/ImageFooterReusableView.swift b/piwigo/Album/ImageCollection/ImageFooterReusableView.swift index 6b43ad5a5..544fbe6c8 100644 --- a/piwigo/Album/ImageCollection/ImageFooterReusableView.swift +++ b/piwigo/Album/ImageCollection/ImageFooterReusableView.swift @@ -30,9 +30,6 @@ class ImageFooterReusableView: UICollectionReusableView { if let nberImagesLabel = nberImagesLabel { addSubview(nberImagesLabel) addConstraints(NSLayoutConstraint.constraintCenter(nberImagesLabel)!) - addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|-16-[footer]-16-|", - options: [], metrics: nil, views: ["footer": nberImagesLabel - ])) } } From 825975b9afb78c7d89b0059f9c888012c5558348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 18:21:48 +0200 Subject: [PATCH 41/55] Removes useless @objc of NSValueTransformers --- .../AttributeTransformers/DescriptionValueTransformer.swift | 1 - .../AttributeTransformers/RelativeURLValueTransformer.swift | 1 - .../AttributeTransformers/ResolutionValueTransformer.swift | 1 - 3 files changed, 3 deletions(-) diff --git a/piwigoKit/Data Cache/AttributeTransformers/DescriptionValueTransformer.swift b/piwigoKit/Data Cache/AttributeTransformers/DescriptionValueTransformer.swift index 5d8e97859..515812022 100644 --- a/piwigoKit/Data Cache/AttributeTransformers/DescriptionValueTransformer.swift +++ b/piwigoKit/Data Cache/AttributeTransformers/DescriptionValueTransformer.swift @@ -8,7 +8,6 @@ import Foundation -@objc(DescriptionValueTransformer) public class DescriptionValueTransformer: NSSecureUnarchiveFromDataTransformer { public override class func allowsReverseTransformation() -> Bool { diff --git a/piwigoKit/Data Cache/AttributeTransformers/RelativeURLValueTransformer.swift b/piwigoKit/Data Cache/AttributeTransformers/RelativeURLValueTransformer.swift index 05f442b1d..bbdb93a51 100644 --- a/piwigoKit/Data Cache/AttributeTransformers/RelativeURLValueTransformer.swift +++ b/piwigoKit/Data Cache/AttributeTransformers/RelativeURLValueTransformer.swift @@ -8,7 +8,6 @@ import Foundation -@objc(RelativeURLValueTransformer) public class RelativeURLValueTransformer: NSSecureUnarchiveFromDataTransformer { public override class func allowsReverseTransformation() -> Bool { diff --git a/piwigoKit/Data Cache/AttributeTransformers/ResolutionValueTransformer.swift b/piwigoKit/Data Cache/AttributeTransformers/ResolutionValueTransformer.swift index b16978c29..570fa7ac5 100644 --- a/piwigoKit/Data Cache/AttributeTransformers/ResolutionValueTransformer.swift +++ b/piwigoKit/Data Cache/AttributeTransformers/ResolutionValueTransformer.swift @@ -9,7 +9,6 @@ import Foundation import UIKit -@objc(ResolutionValueTransformer) public class ResolutionValueTransformer: NSSecureUnarchiveFromDataTransformer { public override class func allowsReverseTransformation() -> Bool { From cad0f92c3760fe07d9b7095eebb22b857135b478 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 18:32:50 +0200 Subject: [PATCH 42/55] Updates Spanish translations --- piwigo/Resources/es.lproj/Localizable.strings | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/piwigo/Resources/es.lproj/Localizable.strings b/piwigo/Resources/es.lproj/Localizable.strings index 50c5c2ec5..ab6740b0f 100644 --- a/piwigo/Resources/es.lproj/Localizable.strings +++ b/piwigo/Resources/es.lproj/Localizable.strings @@ -156,8 +156,8 @@ "categoryImageList_deselectButton" = "Deseleccionar"; "categoryImageList_noDataError" = "Error Sin datos"; "categoryImageList_share" = "Compartir"; -"categoryImageList_favorite" = "Añadir a favoritos"; -"categoryImageList_unfavorite" = "Eliminar de favoritos"; +"categoryImageList_favorite" = "Favorito"; +"categoryImageList_unfavorite" = "No favorito"; // Albums "Discover" "categoryDiscover_title" = "Descubre"; From dfb512e559ae656a1df97b47b06b98aff47ce471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 19:35:38 +0200 Subject: [PATCH 43/55] Fixes a crash occurring on iPad when trying to share a photo contextually --- .../Album/Extensions/AlbumViewController+Share.swift | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Share.swift b/piwigo/Album/Extensions/AlbumViewController+Share.swift index c544ff484..a0be7d748 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Share.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Share.swift @@ -175,10 +175,14 @@ extension AlbumViewController // Present share image activity view controller activityViewController.view.tag = count - if let parent = self.parent as? AlbumViewController { - activityViewController.popoverPresentationController?.barButtonItem = parent.shareBarButton + if isSelect { + activityViewController.popoverPresentationController?.barButtonItem = shareBarButton + } else if let imageID = imageIDs.first, + let visibleCells = collectionView?.visibleCells, + let cell = visibleCells.first(where: { ($0 as? ImageCollectionViewCell)?.imageData.pwgID == imageID}) { + activityViewController.popoverPresentationController?.sourceView = cell.contentView } - self.present(activityViewController, animated: true) + present(activityViewController, animated: true) } } } From 5fad934e646e0c1ae5fe4d327bee53d960aea83c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 19:57:58 +0200 Subject: [PATCH 44/55] Fixes selection management after sharing an image contextually --- .../AlbumViewController+Share.swift | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+Share.swift b/piwigo/Album/Extensions/AlbumViewController+Share.swift index a0be7d748..2c8934ae8 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Share.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Share.swift @@ -139,8 +139,16 @@ extension AlbumViewController // Delete shared files & remove observers NotificationCenter.default.post(name: .pwgDidShare, object: nil) - // Deselect images - cancelSelect() + // Deselect images if needed + if isSelect { + if selectedImageIDs.count == count { + cancelSelect() + } else { + updateBarsInSelectMode() + } + } else { + updateBarsInPreviewMode() + } // Close HUD with success presentedViewController?.updateHUDwithSuccess() { [self] in @@ -152,7 +160,11 @@ extension AlbumViewController } else { if activityType == nil { // User dismissed the view controller without making a selection. - updateBarsInSelectMode() + if isSelect { + updateBarsInSelectMode() + } else { + updateBarsInPreviewMode() + } } else { // Check what to do with selection if selectedImageIDs.isEmpty { @@ -239,6 +251,10 @@ extension AlbumViewController: ShareImageActivityItemProviderDelegate self.presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { } } } + } else { + presentedViewController?.updateHUDwithSuccess { [self] in + self.presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { } + } } } From 2171f2e1d2603f3a11d3857fdc50c3007b834d42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 21:21:50 +0200 Subject: [PATCH 45/55] Fixes selection management during share/favorite/unfavorite action called from a contextual menu --- .../AlbumViewController+CopyMove.swift | 8 +- .../AlbumViewController+Delegate.swift | 8 +- .../AlbumViewController+Delete.swift | 2 +- .../Extensions/AlbumViewController+Edit.swift | 2 +- .../AlbumViewController+Favorite.swift | 94 ++++++++++++------- .../AlbumViewController+Rotate.swift | 4 +- .../AlbumViewController+Select.swift | 41 ++++---- .../AlbumViewController+Share.swift | 52 +++++----- .../ImagePreviewViewController.swift | 1 - .../ImageViewController+Share.swift | 6 +- .../ShareImageActivityItemProvider.swift | 10 +- .../ShareVideoActivityItemProvider.swift | 8 +- 12 files changed, 135 insertions(+), 101 deletions(-) diff --git a/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift b/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift index b8f9b250e..18ca2c92f 100644 --- a/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift +++ b/piwigo/Album/Extensions/AlbumViewController+CopyMove.swift @@ -29,7 +29,7 @@ extension AlbumViewController // Disable buttons during action setEnableStateOfButtons(false) // Retrieve complete image data before copying images - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .copyImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .copyImages, contextually: false) }) action.accessibilityIdentifier = "copy" return action @@ -44,7 +44,7 @@ extension AlbumViewController // Disable buttons during action setEnableStateOfButtons(false) // Retrieve complete image data before moving images - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .moveImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .moveImages, contextually: false) }) action.accessibilityIdentifier = "move" return action @@ -69,14 +69,14 @@ extension AlbumViewController title: NSLocalizedString("copyImage_title", comment: "Copy to Album"), style: .default, handler: { [self] action in // Retrieve complete image data before copying images - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .copyImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .copyImages, contextually: false) }) let moveAction = UIAlertAction( title: NSLocalizedString("moveImage_title", comment: "Move to Album"), style: .default, handler: { [self] action in // Retrieve complete image data before moving images - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .moveImages) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .moveImages, contextually: false) }) // Add actions diff --git a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift index 6b49f62a6..7b0072863 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delegate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delegate.swift @@ -298,7 +298,7 @@ extension AlbumViewController: UICollectionViewDelegate private func shareImageAction(withID imageID: Int64) -> UIAction { return UIAction(title: NSLocalizedString("categoryImageList_share", comment: "Share"), image: UIImage(systemName: "square.and.arrow.up")) { _ in - self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .share) + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .share, contextually: true) } } @@ -306,7 +306,7 @@ extension AlbumViewController: UICollectionViewDelegate private func favoriteImageAction(withID imageID: Int64) -> UIAction { return UIAction(title: NSLocalizedString("categoryImageList_favorite", comment: "Favorite"), image: UIImage(systemName: "heart")) { _ in - self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .favorite) + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .favorite, contextually: true) } } @@ -314,7 +314,7 @@ extension AlbumViewController: UICollectionViewDelegate private func unfavoriteImageAction(withID imageID: Int64) -> UIAction { return UIAction(title: NSLocalizedString("categoryImageList_unfavorite", comment: "Unfavorite"), image: UIImage(systemName: "heart.slash")) { _ in - self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .unfavorite) + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .unfavorite, contextually: true) } } @@ -406,7 +406,7 @@ extension AlbumViewController: UICollectionViewDelegate // Image selected ► Propose to deselect it return UIAction(title: NSLocalizedString("deleteSingleImage_title", comment: "Delete Photo"), image: UIImage(systemName: "trash"), attributes: .destructive) { _ in - self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .delete) + self.initSelection(ofImagesWithIDs: Set([imageID]), beforeAction: .delete, contextually: true) } } } diff --git a/piwigo/Album/Extensions/AlbumViewController+Delete.swift b/piwigo/Album/Extensions/AlbumViewController+Delete.swift index 300206c8d..c36367fac 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Delete.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Delete.swift @@ -21,7 +21,7 @@ extension AlbumViewController // MARK: - Delete or Remove Images @objc func deleteSelection() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .delete) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .delete, contextually: false) } func askDeleteConfirmation(forImagesWithID imageIDs: Set) { diff --git a/piwigo/Album/Extensions/AlbumViewController+Edit.swift b/piwigo/Album/Extensions/AlbumViewController+Edit.swift index 3d500ecd4..b55c50c05 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Edit.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Edit.swift @@ -29,7 +29,7 @@ extension AlbumViewController // MARK: Edit Images Parameters @objc func editSelection() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .edit) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .edit, contextually: false) } func editImages(withIDs imageIDs: Set) { diff --git a/piwigo/Album/Extensions/AlbumViewController+Favorite.swift b/piwigo/Album/Extensions/AlbumViewController+Favorite.swift index 0f0a50040..dae54071c 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Favorite.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Favorite.swift @@ -32,10 +32,10 @@ extension AlbumViewController // MARK: - Add Images to Favorites @objc func favoriteSelection() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .favorite) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .favorite, contextually: false) } - func favorite(imagesWithID someIDs: Set, total: Float) { + func favorite(imagesWithID someIDs: Set, total: Float, contextually: Bool) { var remainingIDs = someIDs guard let imageID = remainingIDs.first else { // Save changes @@ -43,8 +43,12 @@ extension AlbumViewController // Close HUD with success navigationController?.updateHUDwithSuccess() { [self] in navigationController?.hideHUD(afterDelay: pwgDelayHUD) { [self] in - // Deselect images - cancelSelect() + // Deselect images if needed + if contextually { + setEnableStateOfButtons(true) + } else { + cancelSelect() + } } } return @@ -54,15 +58,17 @@ extension AlbumViewController guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { // Forget this image remainingIDs.removeFirst() - selectedImageIDs.remove(imageID) - selectedFavoriteIDs.remove(imageID) - selectedVideosIDs.remove(imageID) + if contextually == false { + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + } // Update HUD navigationController?.updateHUD(withProgress: 1.0 - Float(remainingIDs.count) / total) // Next image - favorite(imagesWithID: remainingIDs, total: total) + favorite(imagesWithID: remainingIDs, total: total, contextually: contextually) return } @@ -84,21 +90,23 @@ extension AlbumViewController } // Next image - remainingIDs.removeFirst() - selectedImageIDs.remove(imageID) - selectedFavoriteIDs.remove(imageID) - selectedVideosIDs.remove(imageID) - favorite(imagesWithID: remainingIDs, total: total) + remainingIDs.remove(imageID) + if contextually == false { + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + } + favorite(imagesWithID: remainingIDs, total: total, contextually: contextually) } } failure: { [self] error in - self.favoriteError(error) + self.favoriteError(error, contextually: contextually) } } failure: { [self] error in - self.favoriteError(error) + self.favoriteError(error, contextually: contextually) } } - private func favoriteError(_ error: NSError) { + private func favoriteError(_ error: NSError, contextually: Bool) { DispatchQueue.main.async { [self] in // Session logout required? if let pwgError = error as? PwgSessionError, @@ -114,7 +122,11 @@ extension AlbumViewController navigationController?.dismissPiwigoError(withTitle: title, message: message, errorMessage: error.localizedDescription) { [self] in navigationController?.hideHUD() { [self] in - updateBarsInSelectMode() + if contextually { + setEnableStateOfButtons(true) + } else { + updateBarsInSelectMode() + } } } } @@ -123,10 +135,10 @@ extension AlbumViewController // MARK: - Remove Images from Favorites @objc func unfavoriteSelection() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .unfavorite) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .unfavorite, contextually: false) } - func unfavorite(imagesWithID someIDs: Set, total: Float) { + func unfavorite(imagesWithID someIDs: Set, total: Float, contextually: Bool) { var remainingIDs = someIDs guard let imageID = remainingIDs.first else { // Save changes @@ -134,8 +146,12 @@ extension AlbumViewController // Close HUD with success navigationController?.updateHUDwithSuccess() { [self] in navigationController?.hideHUD(afterDelay: pwgDelayHUD) { [self] in - // Deselect images - cancelSelect() + // Deselect images if needed + if contextually { + setEnableStateOfButtons(true) + } else { + cancelSelect() + } } } return @@ -143,17 +159,19 @@ extension AlbumViewController // Get image data guard let imageData = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) else { - // Deselect this image - remainingIDs.removeFirst() - selectedImageIDs.remove(imageID) - selectedFavoriteIDs.remove(imageID) - selectedVideosIDs.remove(imageID) + // Deselect this image if needed + remainingIDs.remove(imageID) + if contextually == false { + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + } // Update HUD navigationController?.updateHUD(withProgress: 1.0 - Float(remainingIDs.count) / total) // Next image - unfavorite(imagesWithID: remainingIDs, total: total) + unfavorite(imagesWithID: remainingIDs, total: total, contextually: contextually) return } @@ -176,20 +194,22 @@ extension AlbumViewController // Next image remainingIDs.removeFirst() - selectedImageIDs.remove(imageID) - selectedFavoriteIDs.remove(imageID) - selectedVideosIDs.remove(imageID) - unfavorite(imagesWithID: remainingIDs, total: total) + if contextually == false { + selectedImageIDs.remove(imageID) + selectedFavoriteIDs.remove(imageID) + selectedVideosIDs.remove(imageID) + } + unfavorite(imagesWithID: remainingIDs, total: total, contextually: contextually) } } failure: { [unowned self] error in - self.unfavoriteError(error) + self.unfavoriteError(error, contextually: contextually) } } failure: { [unowned self] error in - self.unfavoriteError(error) + self.unfavoriteError(error, contextually: contextually) } } - private func unfavoriteError(_ error: NSError) { + private func unfavoriteError(_ error: NSError, contextually: Bool) { DispatchQueue.main.async { [self] in // Session logout required? if let pwgError = error as? PwgSessionError, @@ -205,7 +225,11 @@ extension AlbumViewController navigationController?.dismissPiwigoError(withTitle: title, message: message, errorMessage: error.localizedDescription) { [unowned self] in navigationController?.hideHUD() { [unowned self] in - updateBarsInSelectMode() + if contextually { + setEnableStateOfButtons(true) + } else { + updateBarsInSelectMode() + } } } } diff --git a/piwigo/Album/Extensions/AlbumViewController+Rotate.swift b/piwigo/Album/Extensions/AlbumViewController+Rotate.swift index a08d7d69c..54136d333 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Rotate.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Rotate.swift @@ -54,11 +54,11 @@ extension AlbumViewController { // MARK: - Rotate Image @objc func rotateSelectionLeft() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .rotateImagesLeft) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .rotateImagesLeft, contextually: false) } @objc func rotateSelectionRight() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .rotateImagesRight) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .rotateImagesRight, contextually: false) } func rotateImages(withID someIDs: Set, by angle: Double, total: Float) { diff --git a/piwigo/Album/Extensions/AlbumViewController+Select.swift b/piwigo/Album/Extensions/AlbumViewController+Select.swift index 231a37e63..bf7741042 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Select.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Select.swift @@ -258,7 +258,8 @@ extension AlbumViewController // MARK: - Prepare Selection - func initSelection(ofImagesWithIDs imageIDs: Set, beforeAction action: pwgImageAction) { + func initSelection(ofImagesWithIDs imageIDs: Set, + beforeAction action: pwgImageAction, contextually: Bool) { if imageIDs.isEmpty { return } // Disable buttons @@ -285,7 +286,7 @@ extension AlbumViewController // Should we retrieve data of some images? if imageIDsToRetrieve.isEmpty { - performAction(action, withImageIDs: imageIDs) + performAction(action, withImageIDs: imageIDs, contextually: contextually) } else { // Display HUD navigationController?.showHUD(withTitle: NSLocalizedString("loadingHUD_label", comment: "Loading…"), @@ -293,9 +294,10 @@ extension AlbumViewController // Retrieve image data if needed PwgSession.checkSession(ofUser: user) { [self] in - retrieveData(ofImagesWithID: imageIDsToRetrieve, among: imageIDs, beforeAction: action) + retrieveData(ofImagesWithID: imageIDsToRetrieve, among: imageIDs, + beforeAction: action, contextually: contextually) } failure: { [unowned self] error in - retrieveImageDataError(error) + retrieveImageDataError(error, contextually: contextually) } } @@ -308,7 +310,7 @@ extension AlbumViewController navigationController?.showHUD(withTitle: title, inMode: imageIDs.count > 1 ? .determinate : .indeterminate) // Add or remove image from favorites - performAction(action, withImageIDs: imageIDs) + performAction(action, withImageIDs: imageIDs, contextually: contextually) case .rotateImagesLeft /* Rotate photos 90° to left */, .rotateImagesRight /* Rotate photos 90° to right */: @@ -319,11 +321,11 @@ extension AlbumViewController navigationController?.showHUD(withTitle: title, inMode: imageIDs.count > 1 ? .determinate : .indeterminate) // Add or remove image from favorites - performAction(action, withImageIDs: imageIDs) + performAction(action, withImageIDs: imageIDs, contextually: contextually) } } - private func performAction(_ action: pwgImageAction, withImageIDs imageIDs: Set) { + private func performAction(_ action: pwgImageAction, withImageIDs imageIDs: Set, contextually: Bool) { switch action { case .edit /* Edit images parameters */: editImages(withIDs: imageIDs) @@ -340,16 +342,16 @@ extension AlbumViewController } // Prepare items to share in background queue DispatchQueue(label: "org.piwigo.share", qos: .userInitiated).async { - self.checkPhotoLibraryAccessBeforeSharing(imagesWithID: imageIDs) + self.checkPhotoLibraryAccessBeforeSharing(imagesWithID: imageIDs, contextually: contextually) } case .copyImages /* Copy images to Album */: copyToAlbum(imagesWithID: imageIDs) case .moveImages /* Move images to album */: moveToAlbum(imagesWithID: imageIDs) case .favorite: - favorite(imagesWithID: imageIDs, total: Float(imageIDs.count)) + favorite(imagesWithID: imageIDs, total: Float(imageIDs.count), contextually: contextually) case .unfavorite: - unfavorite(imagesWithID: imageIDs, total: Float(imageIDs.count)) + unfavorite(imagesWithID: imageIDs, total: Float(imageIDs.count), contextually: contextually) case .rotateImagesLeft: rotateImages(withID: imageIDs, by: 90.0, total: Float(imageIDs.count)) case .rotateImagesRight: @@ -358,17 +360,17 @@ extension AlbumViewController } private func retrieveData(ofImagesWithID someIDs: Set, among imageIDs: Set, - beforeAction action:pwgImageAction) { + beforeAction action:pwgImageAction, contextually: Bool) { // Get image ID if any var remainingIDs = someIDs guard let imageID = remainingIDs.first else { DispatchQueue.main.async { if action == .share { // Update or display HUD - self.performAction(action, withImageIDs: imageIDs) + self.performAction(action, withImageIDs: imageIDs, contextually: contextually) } else { self.navigationController?.hideHUD() { [self] in - performAction(action, withImageIDs: imageIDs) + performAction(action, withImageIDs: imageIDs, contextually: contextually) } } } @@ -387,13 +389,14 @@ extension AlbumViewController } // Next image - retrieveData(ofImagesWithID: remainingIDs, among: imageIDs, beforeAction: action) + retrieveData(ofImagesWithID: remainingIDs, among: imageIDs, + beforeAction: action, contextually: contextually) } failure: { [unowned self] error in - retrieveImageDataError(error) + retrieveImageDataError(error, contextually: contextually) } } - private func retrieveImageDataError(_ error: NSError) { + private func retrieveImageDataError(_ error: NSError, contextually: Bool) { DispatchQueue.main.async { [self] in // Session logout required? if let pwgError = error as? PwgSessionError, @@ -409,7 +412,11 @@ extension AlbumViewController dismissPiwigoError(withTitle: title, message: message, errorMessage: error.localizedDescription) { [unowned self] in navigationController?.hideHUD() { [unowned self] in - updateBarsInSelectMode() + if contextually { + setEnableStateOfButtons(true) + } else { + updateBarsInSelectMode() + } } } } diff --git a/piwigo/Album/Extensions/AlbumViewController+Share.swift b/piwigo/Album/Extensions/AlbumViewController+Share.swift index 2c8934ae8..0fe9a50d1 100644 --- a/piwigo/Album/Extensions/AlbumViewController+Share.swift +++ b/piwigo/Album/Extensions/AlbumViewController+Share.swift @@ -23,35 +23,35 @@ extension AlbumViewController // MARK: Share Images @objc func shareSelection() { - initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .share) + initSelection(ofImagesWithIDs: selectedImageIDs, beforeAction: .share, contextually: false) } - func checkPhotoLibraryAccessBeforeSharing(imagesWithID imageIDs: Set) { + func checkPhotoLibraryAccessBeforeSharing(imagesWithID imageIDs: Set, contextually: Bool) { // Check autorisation to access Photo Library (camera roll) if #available(iOS 14, *) { PhotosFetch.shared.checkPhotoLibraryAuthorizationStatus( for: PHAccessLevel.addOnly, for: self, onAccess: { [self] in // User allowed to save image in camera roll - shareImages(withID: imageIDs, withCameraRollAccess: true) + shareImages(withID: imageIDs, withCameraRollAccess: true, contextually: contextually) }, onDeniedAccess: { [self] in // User not allowed to save image in camera roll - shareImages(withID: imageIDs, withCameraRollAccess: false) + shareImages(withID: imageIDs, withCameraRollAccess: false, contextually: contextually) }) } else { // Fallback on earlier versions PhotosFetch.shared.checkPhotoLibraryAccessForViewController(nil) { [self] in // User allowed to save image in camera roll - shareImages(withID: imageIDs, withCameraRollAccess: true) + shareImages(withID: imageIDs, withCameraRollAccess: true, contextually: contextually) } onDeniedAccess: { [self] in // User not allowed to save image in camera roll - shareImages(withID: imageIDs, withCameraRollAccess: false) + shareImages(withID: imageIDs, withCameraRollAccess: false, contextually: contextually) } } } - func shareImages(withID imageIDs: Set, withCameraRollAccess hasCameraRollAccess: Bool) { + func shareImages(withID imageIDs: Set, withCameraRollAccess hasCameraRollAccess: Bool, contextually: Bool) { // To exclude some activity types var hasVideoItem = false var totalSize = Int64.zero @@ -66,7 +66,7 @@ extension AlbumViewController if let image = (images.fetchedObjects ?? []).first(where: {$0.pwgID == imageID}) { if image.isVideo { // Case of a video - let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: image) + let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: image, contextually: contextually) // Use delegation to monitor the progress of the item method videoItemProvider.delegate = self @@ -80,7 +80,7 @@ extension AlbumViewController } else { // Case of an image - let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: image) + let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: image, contextually: contextually) // Use delegation to monitor the progress of the item method imageItemProvider.delegate = self @@ -140,14 +140,10 @@ extension AlbumViewController NotificationCenter.default.post(name: .pwgDidShare, object: nil) // Deselect images if needed - if isSelect { - if selectedImageIDs.count == count { - cancelSelect() - } else { - updateBarsInSelectMode() - } + if contextually { + setEnableStateOfButtons(true) } else { - updateBarsInPreviewMode() + cancelSelect() } // Close HUD with success @@ -160,17 +156,17 @@ extension AlbumViewController } else { if activityType == nil { // User dismissed the view controller without making a selection. - if isSelect { - updateBarsInSelectMode() - } else { - updateBarsInPreviewMode() - } + setEnableStateOfButtons(true) } else { // Check what to do with selection - if selectedImageIDs.isEmpty { - cancelSelect() - } else { + if contextually { setEnableStateOfButtons(true) + } else { + if selectedImageIDs.isEmpty { + cancelSelect() + } else { + setEnableStateOfButtons(true) + } } // Cancel download task @@ -187,7 +183,7 @@ extension AlbumViewController // Present share image activity view controller activityViewController.view.tag = count - if isSelect { + if isSelect, contextually == false { activityViewController.popoverPresentationController?.barButtonItem = shareBarButton } else if let imageID = imageIDs.first, let visibleCells = collectionView?.visibleCells, @@ -231,14 +227,14 @@ extension AlbumViewController: ShareImageActivityItemProviderDelegate } func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, - withImageID imageID: Int64) { + withImageID imageID: Int64, contextually: Bool) { // Check activity item provider guard let imageActivityItemProvider = imageActivityItemProvider else { return } // Close HUD if imageActivityItemProvider.isCancelled { presentedViewController?.hideHUD { } - } else if selectedImageIDs.contains(imageID) { + } else if contextually == false, selectedImageIDs.contains(imageID) { // Remove image from selection selectedImageIDs.remove(imageID) selectedFavoriteIDs.remove(imageID) @@ -251,7 +247,7 @@ extension AlbumViewController: ShareImageActivityItemProviderDelegate self.presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { } } } - } else { + } else if contextually { presentedViewController?.updateHUDwithSuccess { [self] in self.presentedViewController?.hideHUD(afterDelay: pwgDelayHUD) { } } diff --git a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift index 55a184a95..997c6bd57 100644 --- a/piwigo/Album/ImageCollection/ImagePreviewViewController.swift +++ b/piwigo/Album/ImageCollection/ImagePreviewViewController.swift @@ -23,7 +23,6 @@ class ImagePreviewViewController: UIViewController let scale = view.traitCollection.displayScale let sizes = imageData.sizes aspectRatio = sizes.medium?.aspectRatio ?? sizes.thumb?.aspectRatio ?? 1.0 - debugPrint("aspect ratio: \(aspectRatio)") var previewSize = pwgImageSize(rawValue: ImageVars.shared.defaultImagePreviewSize) ?? .medium if imageData.isVideo, previewSize == .fullRes { previewSize = .xxLarge diff --git a/piwigo/Image/Extensions/ImageViewController+Share.swift b/piwigo/Image/Extensions/ImageViewController+Share.swift index 9d4302215..fdb0d91a6 100644 --- a/piwigo/Image/Extensions/ImageViewController+Share.swift +++ b/piwigo/Image/Extensions/ImageViewController+Share.swift @@ -70,7 +70,7 @@ extension ImageViewController var itemsToShare: [AnyHashable] = [] if imageData.isVideo { // Case of a video - let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: imageData) + let videoItemProvider = ShareVideoActivityItemProvider(placeholderImage: imageData, contextually: false) // Use delegation to monitor the progress of the item method videoItemProvider.delegate = self @@ -83,7 +83,7 @@ extension ImageViewController } else { // Case of an image - let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: imageData) + let imageItemProvider = ShareImageActivityItemProvider(placeholderImage: imageData, contextually: false) // Use delegation to monitor the progress of the item method imageItemProvider.delegate = self @@ -164,7 +164,7 @@ extension ImageViewController: ShareImageActivityItemProviderDelegate presentedViewController?.updateHUD(withProgress: progress) } - func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, withImageID imageID: Int64) { + func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, withImageID imageID: Int64, contextually:Bool) { // Close HUD if imageActivityItemProvider?.isCancelled ?? false { presentedViewController?.hideHUD { } diff --git a/piwigo/Image/Share/ShareImageActivityItemProvider.swift b/piwigo/Image/Share/ShareImageActivityItemProvider.swift index 2c8ebcffa..fbfc63b87 100644 --- a/piwigo/Image/Share/ShareImageActivityItemProvider.swift +++ b/piwigo/Image/Share/ShareImageActivityItemProvider.swift @@ -22,7 +22,7 @@ protocol ShareImageActivityItemProviderDelegate: NSObjectProtocol { func imageActivityItemProvider(_ imageActivityItemProvider: UIActivityItemProvider?, preprocessingProgressDidUpdate progress: Float) func imageActivityItemProviderPreprocessingDidEnd(_ imageActivityItemProvider: UIActivityItemProvider?, - withImageID imageID: Int64) + withImageID imageID: Int64, contextually: Bool) func showError(withTitle title: String, andMessage message: String?) } @@ -38,6 +38,7 @@ class ShareImageActivityItemProvider: UIActivityItemProvider { private var cachedFileURL: URL? // URL of cached image file private var imageFileURL: URL // URL of shared image file private var isCancelledByUser = false // Flag updated when pressing Cancel + private var contextually = false // MARK: - Progress Fraction @@ -58,9 +59,12 @@ class ShareImageActivityItemProvider: UIActivityItemProvider { // MARK: - Placeholder Image - init(placeholderImage: Image) { + init(placeholderImage: Image, contextually: Bool) { // Store Piwigo image data for future use self.imageData = placeholderImage + + // Remember if this video is shared from a contextual menu + self.contextually = contextually // We use the thumbnail image stored in cache let size = pwgImageSize(rawValue: AlbumVars.shared.defaultThumbnailSize) ?? .thumb @@ -335,7 +339,7 @@ class ShareImageActivityItemProvider: UIActivityItemProvider { private func preprocessingDidEnd() { // Notify the delegate on the main thread that the processing is cancelled. DispatchQueue.main.async(execute: { - self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageID: self.imageData.pwgID) + self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageID: self.imageData.pwgID, contextually: self.contextually) }) } diff --git a/piwigo/Image/Share/ShareVideoActivityItemProvider.swift b/piwigo/Image/Share/ShareVideoActivityItemProvider.swift index ded19154f..1df1769f6 100644 --- a/piwigo/Image/Share/ShareVideoActivityItemProvider.swift +++ b/piwigo/Image/Share/ShareVideoActivityItemProvider.swift @@ -28,6 +28,7 @@ class ShareVideoActivityItemProvider: UIActivityItemProvider { private var cachedFileURL: URL? // URL of cached video file private var imageFileURL: URL // URL of shared video file private var isCancelledByUser = false // Flag updated when pressing Cancel + private var contextually = false // MARK: - Progress Faction @@ -48,9 +49,12 @@ class ShareVideoActivityItemProvider: UIActivityItemProvider { // MARK: - Placeholder Image - init(placeholderImage: Image) { + init(placeholderImage: Image, contextually: Bool) { // Store Piwigo image data for future use self.imageData = placeholderImage + + // Remember if this video is shared from a contextual menu + self.contextually = contextually // We use the thumbnail image stored in cache let size = pwgImageSize(rawValue: AlbumVars.shared.defaultThumbnailSize) ?? .thumb @@ -351,7 +355,7 @@ class ShareVideoActivityItemProvider: UIActivityItemProvider { private func preprocessingDidEnd() { // Notify the delegate on the main thread that the processing is cancelled. DispatchQueue.main.async(execute: { - self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageID: self.imageData.pwgID) + self.delegate?.imageActivityItemProviderPreprocessingDidEnd(self, withImageID: self.imageData.pwgID, contextually: self.contextually) }) } From 5de99a265f36262fc635ffa273083b3a7e213a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 22:31:09 +0200 Subject: [PATCH 46/55] Adds missing App Icon --- Assets/App Icon/icon-38@2x.png | Bin 0 -> 2363 bytes Assets/App Icon/icon-38@3x.png | Bin 0 -> 3615 bytes Assets/App Icon/icon-64@2x.png | Bin 0 -> 4063 bytes Assets/App Icon/icon-64@3x.png | Bin 0 -> 6480 bytes Assets/App Icon/icon-68@2x.png | Bin 0 -> 4439 bytes Assets/App Icon/icon-76.png | Bin 4467 -> 0 bytes Assets/App Icon/piwigoIcon-1024.png | Bin 44406 -> 0 bytes ...ns alone).afdesign => piwigoIcon.afdesign} | Bin piwigo/Info.plist | 2 +- .../AppIcon.appiconset/Contents.json | 147 +++++++++--------- .../AppIcon.appiconset/icon-20.png | Bin 2999 -> 0 bytes .../AppIcon.appiconset/icon-20@2x.png | Bin 3552 -> 0 bytes .../AppIcon.appiconset/icon-29.png | Bin 3352 -> 0 bytes .../AppIcon.appiconset/icon-29@2x-1.png | Bin 4072 -> 0 bytes .../AppIcon.appiconset/icon-38@2x.png | Bin 0 -> 2363 bytes .../AppIcon.appiconset/icon-38@3x.png | Bin 0 -> 3615 bytes .../AppIcon.appiconset/icon-40.png | Bin 3552 -> 0 bytes .../AppIcon.appiconset/icon-40@2x-1.png | Bin 4621 -> 0 bytes .../AppIcon.appiconset/icon-64@2x.png | Bin 0 -> 4063 bytes .../AppIcon.appiconset/icon-64@3x.png | Bin 0 -> 6480 bytes .../AppIcon.appiconset/icon-68@2x.png | Bin 0 -> 4439 bytes .../AppIcon.appiconset/icon-76.png | Bin 4467 -> 0 bytes piwigoKit/Info.plist | 2 +- uploadKit/Info.plist | 2 +- 24 files changed, 78 insertions(+), 75 deletions(-) create mode 100644 Assets/App Icon/icon-38@2x.png create mode 100644 Assets/App Icon/icon-38@3x.png create mode 100644 Assets/App Icon/icon-64@2x.png create mode 100644 Assets/App Icon/icon-64@3x.png create mode 100644 Assets/App Icon/icon-68@2x.png delete mode 100644 Assets/App Icon/icon-76.png delete mode 100644 Assets/App Icon/piwigoIcon-1024.png rename Assets/App Icon/{piwigoIcon (lens alone).afdesign => piwigoIcon.afdesign} (100%) delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29@2x-1.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@2x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@2x-1.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@2x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@3x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-68@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-76.png diff --git a/Assets/App Icon/icon-38@2x.png b/Assets/App Icon/icon-38@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc9ea514efb0cb3fb479cb9f379f4b5b9046fcb GIT binary patch literal 2363 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 Ee=<;PM*si- literal 0 HcmV?d00001 diff --git a/Assets/App Icon/icon-38@3x.png b/Assets/App Icon/icon-38@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..77259636bbbb8c0b20a8bdad834b22e10fe401dd GIT binary patch literal 3615 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 literal 0 HcmV?d00001 diff --git a/Assets/App Icon/icon-64@3x.png b/Assets/App Icon/icon-64@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6f269841bca3e9197ea8304e3b4f3cd2f5c92b59 GIT binary patch literal 6480 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 T>5IGc<{V%Svox+Tgg^No^|yrp literal 0 HcmV?d00001 diff --git a/Assets/App Icon/icon-76.png b/Assets/App Icon/icon-76.png deleted file mode 100644 index e4ccf890abc1d28849228239fdee5266f020ab29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4467 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 diff --git a/Assets/App Icon/piwigoIcon-1024.png b/Assets/App Icon/piwigoIcon-1024.png deleted file mode 100644 index 3a7e07bafe39307e080eb8b159f7993f0ec2a95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44406 zcmeFZXH-<%(l)vDhL7slA6#+RFNQ2KtOWtCTD0A6%+|dlGq9&IcJ)r zk`a)cqvV`pH+|=7_Sx?_Z}{#R-?+c-czcY!1l9~StDbtQX3g3Ajgo>a#px@jAqb*) za9>Ipf{uY7k3r{-fPX$MKZ}5%lkDcIPaK}eKSCIytvU6L&<4hwF4i{SJp_p$U2OCX zEsY%*4UA3AQKC%CxJo8Qb0bkE4Ln2=(pMO+YI z0Bd6heMT2+E0jILMU;s&E&}`v|Cx)4k<`S&Qk3b5yb_}%+Rm7fkCTt{4wKkvMiDzB z6NIvq%wL_sZ=y_Q4h}X5E-q(hXHI8cPPCmV7q^g*5Z4_ZE*>5Z(1OF>73HAs!hy19 zhKD#DL(16R(9Yb(!5ocZgvZo3Ks!2!GBJVojQ^0#+UD=UQTBhW9_WF~Mc;;toAVCW zKQ}fq{JX7V=H58W0ZqEXwUsG?ST^H<^S&T-wtnW{VzT29i*LrgnzB} zzwKeK>S|-mrEF}EcC<4zmUaR&Gyk)YHfCrCw7nVne^}Swum8*H9L!DrL(%^-HT>qk zG&goJ{~wyeZ~mh>Py#~I&RE|8ZKsMxTZuB=gAvB4^bau^B~|ztS>^Q&%~7!2w@7RG zyOXh$zJswS6VDxPK8`y)9NfIB+}sF0ZUoOAjynQ~J9qwWEe~L2r0<~rcY6U2ZqSBX zm4_F>$AjSJXTQVqFYVDr<|eNHPHQ7WgbCWtS|8X&-^Rwu+)y6|6qggq=r6eZtAAi{UgkH$uqV6OiHN7PxyyfaeasAUC%l56?XrKAw95eB2WE zgoJqhsk;=~&=JPeKe`)%?h+Ebf`UAPQukyec%|=hb4y6`@JZd}6MbXi?P)cDRZDV zd(!;ecX;mpr`MYQ`8CWHj3OjQMcg;H2OxDN{ppZERE%v8e>?ou%ACX;jEp2VMd%wI zuG0`kx3LjvDlppNOY{E*0RNT+{~p2F%or%~|BU><8{4Bz9Gvy-jPIEOyZjG6reTgU zLOa{vV&eKY7GQ>w`WM3(n(3oVjX{v&`u}pN|CamyE&bn1{Xg)~-;Mtr>-{H& z{JZaeU91Qf9PIvqT@kMTg6_ix{}deo9uEHoqAm#ETz|)J@XOyBfH4Ya)DFb=-g3hj z2qJr7E-9&GuPiIU_&{2cpIeBZpM!^!8-iHhJHBs{lel-$7g@mCn4K)`f9#ZHSliJr z{P!L{VZ3JY%QB%y zC72AMxL?%ScTWf1N)4xpyLdKpQZ1zDm2jxTT}}_S!K8-cuh8SHt^D%1x&n*J{d z&#bAP61{8}XxPm;*l%;y#Wtt2A-B2p3=}6!Os_lnJAb}#)0>h;<;9{vDb{z7^MdH(@2Q1~N$;@060 zj6N3+e+a$@C#m35&v^Xs2cuv(Nd+IC`~N%4p(g%UH~)*9|8<7{C5l5f_+JwJ|3hT> z^fu)v2#AGhW|}z$QU&hwUH-|18iYNnF09$FQEaPWg-hm^l+Ot&HQJsG+Q+sAlZ{l= z*o>z_Oc>(BFs3!iWYv_3R^p^9`0Zemh4_2Dx-m>n*?KP5%Tub&pO#Ph6pgYxR_CG=Cy~83@%Ertwt7 z=Goji2vX9T3}3b+x=qJ2&jq5oZ^xt7zsfUPc(xa>YFt{~KA3yqwN%oGo$q`=P<$Mf zv0r0~^-R28FWS0m;hLTMZM=pGTajm@U!5dMbKCEU?IJltG8lCf`4~W1DRZJLP3c;^ z305Y6X-;&f=7m>z8}Xn-Ay&sZpdKfRMB3UM1T>@3{TFk_+ok;W1u$((pte$KJw%^9Z5G?OC77`jqr-A4-<7KE2w`ut*$B4hgUfOeEs+;i$6lA%GxHBuI$6(w zOnF5fmgstfa5&4hD1nP>M!=$Yd-z5xg)XX#jVZICNiO!%IQaM}_LmX1D#MSJxG`?W z3}}xQUxOfJIAO{jn#imj%IJPhE_0V4R~JZyBP1Hu`PE`ZoJaf~5-d9J$DS(;rx3{0 zrOVmr)zE$8vORc9h3Qh9u<^rc9J`*&=Ls!CpqfHh5G(1Dyq$T5;auZ}aWB;8O7jkd zSSBYyA~_O_^3W&9vTRl6!HpG6O;w4?SE<{y0_Zp#Iq0lK>iir}U{`zF>-un@@P_|B zaXa8Zi=6(?$DaLx!e13m8n;DlF?g!x$~_zVK8@u{As3qwv{Wad@QcDpNL(`>2rx>k z8uO&YPO5|aEP^$D@;hpXDeCNEFSkJicCkoLswN>-^+D{pMjv^_Ol_Lg13lB9eotJ6 zLvK;7M+Gu4W% zD(LL<&Kf9gisGYMr~i28+IWV4ZD4@QdIAgf-IHPaZ!bFgAm~1vsVbdS6UluT<~OCt zU{{Zf*ms6UJHfJ8;XY?owY}YtiLSW3I+azCd~8_As{M13|OC z!mk8b2I-%d*M3Rf2&?-3sujtQQ-Xf{c+LufJTAae+zQpml6d7ebWkMei{acx@60MP zTO5=h|N4m{BuBWyG4>WEsXHgG=QUXJ2sj(2%xYYWRT z836#m_~ryxkp=Z?g53Vbo8F{`H!L!p)@}LbbE=SbQ_?yO=Q|h2w)*!}Tok42EhIm4 z0Y^V;h3qluuP1#0{O)YyC1 zX{Z#uf^r`LBW4FIsQxN-tUjRF+X^rf{+-{!lsc@Dr3(g6{5GA$sYlOkS?RtU;IbN` z|AR?vP|z6#&#RdLG~dg{#*wNkO0wGx{{x)v&}T{T(zwQ*IMSJN!&rRDV2nb(JN-fI zY3P%c3hcQ#u}S&X+PQ<3%M~oxtB-e`3oH^9jw^L%RN758`f2Ev5Dz{)9Q6szGXZ~w zl(t|4S0pw@^rTX^nT&)ea%yg%@e%`tDJo>41qrEe}+Px zV2hxY_9^9~q#Wi(Dlye$&M}VaQi%n8mS4eSag$r*kBGb0MbeMV@zY4z^quB-X;M!a zxM!BxV2XUSpAQkArYC)Ico63-^-7(Z9rUc~vG#KB`0Cd;ja(70wy!K+D)p;rt;E~G z8cBQwEWtW`2!w+q=Ad_iE)o8mZ_V0pmOVh-y*%sD!1-67R?cVoyUfSu7&5;lzeJM+ zmKppS?&`~?kp8q}qJP*2h40E@a!Tzibp!)j=`f%^3JVz6fqv{I$}TE^{#BBWK)qgo z&BTQsFAlqHGM(KS5So^95Gl~B^t*!Qv-*gjh6d{9h9WovKIX1tiC4J^8QSQ8C+_`g zlkiHdw82Ulf6Nh*UDy2-u#|tE%h7v8*H8SpV@H&B=9F zzj`fV*psYf(IV_0P7knf2D7WEa&iHXv`Xb@XW@QDpoT z3#vlMpnbtI^Uag>!8!)mGAkn>aC$3e_LpzYNnb5nm!^?+c#8Mele$=@SMCN2tVrvu znRj!1mljog&0viy6US+=Xxby+qocu7XzknIxDfUdf`d$}j*`4^cWs9zdz$YrK z2x06RGLLlK37b?Qm~G;LUiDs@dgdeWj>IdULRke%vF-Py`RcpM>{o1(bDA4T9)Fx?3XZ7IThvC?-O+w zcEpOHRx$VGaz7U5lAUqCK1-Q^x2*I}p2h&gDAB_LUw0DA)WP}vUMe4Z4Jffa$8b&r z%I3KJbO*mqh0zlM%ODSGj)_E2LP`~?_vrw1kroww+4@qg+Dm1;@gvN}Evb{OK z>9n(#&*!8x?QOzn?SpGCg{6ZH2gn$A{3_K@4}MmWYIDnSSOj!rwGMA}nU3}2)*#Gj zP-P(xW)e_mKzmNW?Ag?OrMT=nN2NTueSsVxA6tN+l7+}Y^xtLxEo(XURw-Iu7ha)}2N;xG!hZGwhqiYcpHqb2ET~`6ZHJ*@# z$RMKHt8i*|nX7gqSs1$2rcL`Ppl9zzc7e4inK2*dikbKiZI_|Z=w1ML51-oD{`@yP zvka(8(fHLf)&pN#jzSZ+#caCM{m3!)Q;}5uSj_HZrz_;$UVj$kH0-B!Gqm`|lQoDt zb$(t!KR@cvGC&WpgEKL-DfS6YsAJ^N&I?#a$byf3iE>gw{wN$r`~ek*HaxP2dsAGL z0N40ue1#|Tu~EPOHu>oy90I}v}Nm4d1B-4d}~KSq4FhE_;g7Yh1-|= z(uS3i6kuIGbOMxCQqbd##a|!a@j;i~im%nCpoPb`(n)jHE4@4Z{_HfCfs_v@#F9h3 z!wUdWc8MexQ;2aK@uW)P_gJ|nM}&fPN**6{;uzdmsv)3Rh1gqK29VDlFy@ee78{$=7e2eZ1slywLi@Bw_qbDQ}2#S6b5XxvVv=xk*XLE|4URXae^K$ zQXzVDHsSz);uPWnE-L4L(b$PBz_4t@@1t0+o4h_QL&26ZohKONS-M?dLJJtPr=~UW9*s4 z^zgGu@KUs4`ZU&BmlSpm6kJ^aAw9XkHA063eSPCs+ap1L3N3-?|F`W5Uov|`pMExs zR4OO>CFl}Zvb=9)w{_?Cyqd&H(=Q>E2ACqOsJBcBHbLS zTac(8P5|gn_?^+VNM7dGdcAq3)oXEQE`0%u#XG|tBD3qTfg(KdBlf(eT6^S>a(%P7 zUEcel^&mke&~>yDP?>m27%4eJHF@n1_+fQ+sxSQQU7tjnnq~H^Jk}cgGEH@zG#lO> zhgbuyk{yE*mAYu>I^WD}{uJGoTIgHtHH6`~qd5F=ZM#xdWM#uVNjhD-$Uqt>tcoUo z15!%8TjrHj&cx|rRQm^jkGN)Vbk2smQSG}Ak$-@_BS=I(g&yW*F~pwP4(2(Awp?S- z8ye9iXlNC%MK&zht1J)0s-^zH~9m zhX1s&%cFxBDV)JF&+`S2m?!zEoCbt!*1a_90}I@H>C#n%xpMUiadAl4V3V1_>m#7u zP%fanDyPEv+O0+AJqBLOa9|U_x1#p-*QhE#irAYp+&+1jAY>0MV45RMWn%J1OQxAD zyxNOxVVMVHGxV0r>>F;g3NRl5ybRpJO2u`PP1R3ut_yj<9bY#EvOPADh3ikDPa=)Y zFYI{Z4~_lx7-YqMLJR7ZVWZbfd5j`GDFt8Xr zuwz%(rD?ztB&v)xm%B&&jI!fp1$Y8{Sf$=MI;oz))Uw~vnR2*4 z1mpxgtQ<_gCE(N8{1v1gk^sZn(jA}mJZv&BQcdBownI5eE~}#W!=g3GpbV^8f%c+P^&wKGC>|lV4~h5u0HE)2d=I|bMKj%*WiK#U~F%z z`sQ?ngTL>?67(P~!_y_G2O*?3 z{C2`ni>T?^#D~jt(7Dfmj{W?4cZ;1CnOc_k%$21Aiej#x0h#=SiEYW{p%#_F;bRa` zeq;GpNnxjVg7dSdE-?LVBo7AAM$=az=Fc4M=A)F4fP&%jffB0V>8}j!>Q*8T>Z#P^ zNLOkYa05tN4&~%LrB@r^Z`PIul5AJtN&s+^zYaH}tzuVsZysi}z?Gh9v$|BeZTgAP zh^cL%V@E(a+OtHxGEs%fiV2mSuQ2-6`D=s^ZiFqpoKL5Qv0Z?HNCHTuI< zuBxraPs%m2{6f?L?BDmKzBqmLzR9{_G{XSCxAA+}EA}%QaYbuoVbh*YMAL1I6OkxN zNwnHA{bAqAZdds_>(2@Um!;ix8YE_Qokn1|U^O$q*?Iw&vs_z2T=Uqj#R&|Tk7ZIg zTNhiZjL3TmY!cS&msspCpKf6lOc;Il_6OV9G{N-t%V90a8(gi&lW1aeZQQrDN&z z>Nnd}jj`e{#J%TsX%cB~shJgY`R$CV2^!K;KTA9|W(dgxsee5PK(Fl0r3VQVndI|tpWVS9<#qX z#=vl}I#z<^T2dWMDOQ()%%@%MYc=O!q-;#-GKhnAGBA7f33Wh5vAR< z>db4S2tb)RNG9k8xbe+(6`TH!3vi!0;NMb+r$l*{-@69gX4O*4|1>l2zn@l@Nsn{0 znk(y5{at@Wwp(y*{>HsLyvc6!nl}B&+D>?#fN1gTH+jlTyv?L9J2D2rrBry)QMXcT zyk$N}3}JAPeCh&-p`=}r_)R{#{v1OROk*s)o@cRF6z`0W`$zoogy&g<_bw)ySOh=n z@v>7$9%B41O>-sdHvWKPd1UQ?V{*}b&-gJ4{f%>a!LEgKI$yA&W|bqbmHKEiu@kQd z9^)@BvE&PWZVQ%?yh71{ySW@yW~n@V{9$weE?x72?S6?b1O4h!Dvj=a;5UUgfh%0j zTMsR?W^O?^j92?LR;H=3JJK`04{YN`a1z?u88`@SF?G`-V$-XAh9*IgqEm}v=xtYA zt1#X0?23Z#pzB_WPp;_15{H>s!EWc2iuO?7T#LH%B`2;0-CoaS!!0qBWy32Kohym2 zxoSc`o>x(3Ij*c(gsOS#r|;{ycxCloon{_MJAk;wO%5v!edRah-zFD26ZU|?1|-{Z z7dcZ9uh4k1wE6wVRgtJ1|$A1LaPs2$g91gtyFk7)pQ>U7~?Xpzz z*XEcqdvj7@0!!#yXf?s`yVopG=V|=(^4R*F$AFDS3SdwNd)Rbh!yfia%l&TEUE?r4 z_1#HIVSM%vO5uz2DlU)4xL*~Vv83tdOjmi5lpUx|&WJm#6LB=36%#b*D|TInm(7s` zvW7=#?(-;|bc}rqsQML<^O=7@P_C3az6)%#ZL{>()!yjO=j-Txq|NKN*jb>`Q(@Q2 zzFlV5N}__*rB13_%cm8%1j|P^_?rjrqC3h6V~dn%jLZJqVp>twuu;}ccfP)+#}dKR zSkJ9tcdDX6yI=Qiv>w(@SQ9L^%sZ1Ow25%(n8%U+nOr)~YiM&m6WeER(i$n66cjCn z+AAK6Cw^#?li|7?i=gum2yo+{>q|Dx{KHHy!?R$ktDn;x_hs<|8;yENcH^s*4l->M zxYiuDaN>#M^oJX;-#LSN(5Ig%Vqfq1_~n_1?ORnVglQFl6n&@g5|?h7%j$T8fMSK~ zT60IYg0`^rBD-m&-4?qkdJdPe{Iw#b<6F0e?UNdPYTrfo`HG??cgxK4f-`uZ7UT@R zHsFMI9f*5}cL8VxP=kVwh|z(4n;(NEH=K{Ads_G90_qg6Ix%BY;;$k6EQ3B{zA;~qoW(Q$5U<4dAJqWtkQEVKe7BufDYx)mWH$i;P-fEW-@ zc+#CelK6d%He#e0Uu%jXE-YgSo~RPc*4sXIldSu(XL1>rcgv>NweqwA)=$A%!}FS{582J2@<1CSP<#l}ogAMa zI**0XqiDp+*Q4l03^OqRFQA;{v$oJMc9dM^QIvf%UrGqbRbW@??4SM$>bDA7qIO1e z*OllwP=&>P<0hEpo$WyIsLoNmx?i2sgx2!vSc_JkKElK_r=zs|!i~nE^2`2>Auget zfo}}sS6|egxxxk3-drl_+E#dWDbl&BV(@S$j>pQ8w3|1Wk)}gPrOzHT zumC4l8U~oSpE>?sEj9G&PM&rKDM8C+c6MEUNdfy-u=WPVJ*a5g#XSf(O{msT+gzZ! zbBsgh1KC&y)t-m2Urq4n_x2BqIyZ*;>6cTA-Zkjxb({xW`3Vo)H&{ux{4_O_g4_1N zKJ#hx(vUDv)(gIfj1sG6ojq`KH=(W>sw@5ovIT4RJ(h{s@}UPa*zt8Rs>JxKUMWkK?J9z*R8IlZEl?imXiCWzuMwLnmm5h7Adw=S4Y_R zj@8}iIO8nhP$%gua@UcQbv|wg^Xrpejt*u$y7K|V8U)DUdJd7#H12Yn;d-`yN{F~- z0ieMef0_}s&CFD1H9F_oV&2-=$N6Puu5D{zmfQ7N5qeye!(+~LUOi*ZgoRnGC?PM2 zcGIFW?QvFT$)^RkVu_IoDlT1*{YBt2N)^E9y)90Jk+XD6Ewga4{mS>uY31qXx!1Sl zi8#HA{Yji2{W|{Rbe#ygjiI;O&RBd~0Vs9Z!7aLDAZEC>1(de-YFC99FWPGTAZN(mpd1;_)oe21h~_iezJ{ahE8pfUcb+YmTMA~7 zBUWv_cORG-7AYzE6&&>1lf4yhd7}!|-1nrBG zuz_Y?slXSVscoaL_lpRBh1}ra@ZuL zG2%W_jM83{#>1md8$}@3PxYrZBc-JyIB} zDeAP@+Xbo(M|$n}EW6V+^GvWP&(h6Vr|*j_gI?bkchM7-?};*VPn8e>$+qKfsIqid zs*VD42Fn9v7QTPovs|E2y^Dzz6a8!N^1R)6Po)DJbtFtnE)S*i@6rUbT^$lTzxp8Z>T>@{2}VjEEV`zRD^O2Q&d6+dNB4 zbCZlkP|=9+7|Q&0R!9EOU%G&%OILNjHlEfWbvvrx#3DMyTAAfYuNPvlcdYiTz?Sfr zk!ysr=DG0=Z*Q_Iv%F|G?5jXm(%JrA-Cv~1K@FWIIz!oA#X#j5tXaCRPE(b~l}yvi z5rgyg8oCrSz1C{w1yH579pdXa-mOE+J{5#b$bhyFgO&At8F!=W#siC!n%-Ttcrx%uKQ-nLHKA<}C$ z5mq~0AavweTCbsRLg3q-K3~IHscJq~*OYbfE9i>dsc3YC(9WlC

5vi=xBBzZXS; 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

ytbsdEM>gK;DD8ub}m)7lU=q-RivU>Qolq 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 NJYD@<);T3K0RS8(GOhps diff --git a/Assets/App Icon/piwigoIcon (lens alone).afdesign b/Assets/App Icon/piwigoIcon.afdesign similarity index 100% rename from Assets/App Icon/piwigoIcon (lens alone).afdesign rename to Assets/App Icon/piwigoIcon.afdesign diff --git a/piwigo/Info.plist b/piwigo/Info.plist index bb2bd3f7e..8176c84f4 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -25,7 +25,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 587 + 588 INIntentsSupported AutoUploadIntent diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json index 0141b06f2..cbf116478 100644 --- a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,116 +1,119 @@ { "images" : [ { - "size" : "20x20", - "idiom" : "iphone", "filename" : "icon-20@2x-1.png", - "scale" : "2x" + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "20x20" }, { - "size" : "20x20", - "idiom" : "iphone", "filename" : "icon-20@3x.png", - "scale" : "3x" + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "20x20" }, { - "size" : "29x29", - "idiom" : "iphone", "filename" : "icon-29@2x.png", - "scale" : "2x" + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "29x29" }, { - "size" : "29x29", - "idiom" : "iphone", "filename" : "icon-29@3x.png", - "scale" : "3x" + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "29x29" }, { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "icon-40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "icon-40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "icon-60@2x.png", - "scale" : "2x" + "filename" : "icon-38@2x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "38x38" }, { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "icon-60@3x.png", - "scale" : "3x" + "filename" : "icon-38@3x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "38x38" }, { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "icon-20.png", - "scale" : "1x" + "filename" : "icon-40@2x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "40x40" }, { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "icon-20@2x.png", - "scale" : "2x" + "filename" : "icon-40@3x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "40x40" }, { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "icon-29.png", - "scale" : "1x" + "filename" : "icon-60@2x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "60x60" }, { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "icon-29@2x-1.png", - "scale" : "2x" + "filename" : "icon-60@3x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "60x60" }, { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "icon-40.png", - "scale" : "1x" + "filename" : "icon-64@2x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "64x64" }, { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "icon-40@2x-1.png", - "scale" : "2x" + "filename" : "icon-64@3x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "3x", + "size" : "64x64" }, { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "icon-76.png", - "scale" : "1x" + "filename" : "icon-68@2x.png", + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "68x68" }, { - "size" : "76x76", - "idiom" : "ipad", "filename" : "icon-76@2x.png", - "scale" : "2x" + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "76x76" }, { - "size" : "83.5x83.5", - "idiom" : "ipad", "filename" : "icon-83.5@2x.png", - "scale" : "2x" + "idiom" : "universal", + "platform" : "ios", + "scale" : "2x", + "size" : "83.5x83.5" }, { - "size" : "1024x1024", - "idiom" : "ios-marketing", "filename" : "icon-1024.png", - "scale" : "1x" + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20.png deleted file mode 100644 index a2391bf83e07662468e603740234b5906dc4c718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2999 zcmb_e3se(V8XoEcOc&`Mp0m97CiBRPObIk0380N2gjZKxhRK9XNircbJnI&U zv=(s>i|C%UTWQ5w5vbeM-HKWdYad`yDI9gRD(-fV+HQTa)b^~dvUd^*;G@gw*_<;; z?)|_2zyJ6D-@SJlGMA9i{zU#;S|opz)G1?h9OB3 zIMHLZky!@QU1u=TB6dM=lPFqIQ6a04%Q#Olifc3)6eCcAkOG91uW|`grPReoiy?e5 z3=B_uShv7(E?A676>(*P7D0d=9?#6__6K+IciDqFpp}#x#bp>e8EmEfSa+Gn;Z4Iz zql|-bGA@A!czg;T6v1rvyF4(w(>cY17mVc~!@F!B=)qg6+zgt<@LZXPW{l-v<><*t zy6v36@pkSZy!__-*a@s{qR>;87A^O|nM(E{aM3aW2Sp%LJPajp9t+1gw1`er7@Rqt zCY+M3f@91S&APCXW*{poB~X66 zT8aYFE=W1TyG?l28B|klPfSxCpS%U&+xEdw^ELu9L7(HOyL}y$IMwl z6Xf0%L@|(H0g#=y5LyJEn9mn==_nHmq(uNt@Ii6$djeAMzabNd92X19?yHO_D_=U< z;7kJfsFX^%(i_-o%491UN4|jtb>qG3;~1g1$6Ro)Sv)J?MDIo=(^wvew8}f>J3z9T zQs2lobgbcHqQc-bnmp)96v|Vx(=LR=IxJ zuIgdP%2!DvukXEhF?@OO7pF@9@lJ5DW$466W=xv-R`(}Gy$hNOI=|mr^S-8aFzf?` zq$#%Jx8bd!b9Y|IY1#AIa~lMOY*pOZ?VrzjjWcU=zY1^34!c7XG}hlPbcU60d!_Vp zcswhOe-`cAe6%Yr`3L-$MH%O9#S6 zHlrtOQ;x*`Yzty;Oty*7{^H@EQoitmbY_-m`_83VG;7af5E>Mf(XU%xc8%Q|n*qL%B`k4Q%c zUkNrhZfw1MnO_ysT=wsd_*28HS8A^1-<+M%ReWZ~g}KMUo7xV7fi*ttGyM7|+y_j5tF z)jA17R3kv2uHNP{FaURG+o=#)NLUvf$ixPj}DRkNAvk*sgHbm6c1r`PjUA6iCPBEpVzZBp*;`gCzu{Sz;> zH?+m9ZA&`&_08qw)>Qsu30JYPf9KU`a-gR(&V9prroLzrizP$wX_UF%!|FZeX zF9TL`%3wFTZ`jP#@BKy=P`huP$(4Qay|ufR%nukivasRmdb~HHamJ!;>XAj~&hHNh zfyOScg-}@^eK360!DnuL8k^cb__e|oxSB-*Y9ki}cI~R@BA8Wv|*}cy%?N8Ut>7H}=#hM#O!|*;uP3SD>dHHEw;O2HHJ^%4Sb!QG-xPP>S w^Zcs+uhD!*%o*g^ipC=mVPj)`JyHJ&X#HqVu9~M)iSOI##-)ax`og;Z0=S9$R{#J2 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@2x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@2x.png deleted file mode 100644 index 48c36585b8f5dcdd64055f63c03bd789434bd6b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3552 zcmb_f2Uru?7LFt~q(~DNTa2ztOPNU{F@a4;qPPZ;BA}uS$v{Rz5|RJ`Ttw_(S;ew8 zim33wf`B5c3;0y9B7Dk_q>%fds%@)Q<#CTPUA&u_n%`^_YC&wtK6|GEFYce2LM zcbcWSlQ|BDv-FuR@<+d&v1_CmdJnMZPQ>Acxgmie`Vi?%u1p<6f#m84m|}?0pmrRN z=Vj19vS?UOjDVvM6`$03qKZUB4u)lA>iCImye@oM+&o z0b*c1L^Q-GRXVPLPcp{kqQ9|jDv4->=%e|h5UC&0TdjqOObU}iBYBz=d0KfS*Iy)g zNeaDQ!=+La5)vp0bc$LVMFlt<4wVK{L6D3h$ht(89x{+sx=C1w{um-yC(|Mt zJ)%|-v6xVVI!@0gkx)DFZDuhVQ*f2;4STc>R0E`;0u&l`AXqLlVKs4Dr7;b;j0!8^ z7+9s(p?KguJX!>))a3HX@G&v(dFb@wcr?Q|Y(MFt3ry6&RDW2fj?>CuaXdQmq=89l z6l%R%r%-=}m&yDQJ3SKluF&rdjafc|!v^FtaLn=!juwIIt%V`IS{tZVEBPb=rZA%4 z+cb&Z0W6}k6p|q-EN>Sh7n2h#g7h$-1kwN|nFf*pdLRIBnE)50k!fr$jb=hiQCZ0$ zJ!HbO$pDH00zo>L3336J8x4F9ua+Z`iC==2%eawhZ489Y3#8E~5gCLDiW;wyzmbcn zq;HdvO1VBNogPxjU>^~mgp#2kh@2}Cuq6P%X3*FmjpYFV9v~=?FhK#E2?zxo4miMF zq?W~DntJOlN8N=&x`zkoAreT0bTI<}gkq2>VlY_(I)g?N&?N)hXK4|1wL;2&9L7Y6 z>#bI*wNkYlodmjZ1WXKEbO1CvVz}4I}`L?SJZjR3gTmgGe+kQ!XUy=PAR~4arz?Kcn>C#K;toDhfsqDeC`|>K83vQ}!mR zf3pvnz+Wy|C z@aQcK_`NK_j1c0)$olBK>%lqk71xI$W6B)N_pp8*^~~`aOEHchwh?8_IhgV5=9_hm z)vI}@w|8Gww~dXgOJ#1FU6OPQC)XvC$3CuTYjd1$d8H}#UXEo{U_)bQHM?X8DS#oAnIJV%MAb=LfG)OZju|I%Wnq z^nsxn%l{0IafsiS65Hy zd0=uEO;mNDV565`U3R2c>##k@T;ZNcl4g0%4&Ij}jPQTDe67Xc($`CR3cp#k%C)h> zvtS9hwtT#zDb2ru=4ox2rzaencKlpWcd%7>OW4zhAYJD&8NQBEG*>yaj-A^rShuL5 zL~d6;CG&BT8M(VY#ZsEFCF{?2-D2yFaW4zqnrOHqyNPt$_q^0Lc?x)tTh<8u08g?u(?@-37 zBfGy(tUFP`dH0K3Yl;HpZi;&~O7S(z94YPc~yFOjj zg;A~!sj-Enb~!ibtRXp-2OB0=RarcGbS5~>nlLE*R8%?MFg1TaPKeL_A);?{Q5og? zhKIPhchG{RJoAp+dR%KW2A$4lbX4Xhj`$*Z;xIieN$)4ra zDM~SXT~Ts3I669{;@&iG?^g@1&WGj)G4}QqG)gv%JBT&T#oeuSPaL|_6VG09>=G}Y zeKMVuW2wOJpLq2L#&C4BSR!D(Nl&r`eB*N?z>y3Rp&R?*4|BFnr-a~ z!57U5Dk=7P@QTi2?g6XlHT%x^M{F$0C`va! zzjJ8k`etd{)ZaTMj#?Q)hKAc5PHVQUEIQwOx;p*#1eG;DyEg@_P2Xh*kNz$0L40lP z`XNR89@v_BvDU=jQ54&yBv<6&!%r+uYrs(k{yXW6g ie&guTT%lR|+N|eV`{U*NEoNYU%zVVYqC>*)w7&pIKoUg& diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29.png deleted file mode 100644 index 5f43f81c4a1b7f8b541ec1a5487a47fea7493930..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3352 zcmb_f3s@6Z79K!bq2db>SJcL^QUsI9OkQM4z=R|`B=QOZem)qI0Y;Kc$b_c|R#9xR z%d#Q}B9&4WL|_q7WL@7|T|f~PSE^7~SLnK6(c=5nPJ%}8(dFy6x!+7O_x$JF^Pl_Q zdnca87{{_1oAD(rG4$Aznz2kO$Gc2|Y&RGPz6^-P4BVp;yHq zArje3XX;5vk24r_2nZ%8Co_}TOhO+ELIQyRWWgW|GbjXuOw}6D6o!^`GKLtAA;Czc z9@iOgLQ6BoM5BpBgOE{h`TJj}(st#ZZsskY=3mgenDa}}2qF!xEL!|^U zHKxI|29m-OXaCEIs;kcw0t28LiHk*HT<(j;nRr;$nO z;s^sl#u4w~Wj4RX&Va|fF7&9Ojh46ISPK3gxY6<&P89+1)?=uF&?^W+Eu@Q#3Zn(R zN|WXt%A>i+Q6;W5=Dong#q5MhPy;5U!z_r)V8INCt$-ke3n4Iz!Qvw!0NvnD(7jsEp zB_o$3ep=FiYL%FuL`bK|FmYUk$V7Y@1o1g6KFs2|Ly$WRi)36_#OFd{kw5^CaF-Cu zM5Cr&xvMC5v6$`d4!cW4GBI1qfgrII=1MqRo`}t1u|#ay2=_oePOVl{{hPy>DIwm3 zn$XJ$6*UQL(+EZ}Ak+XCo%`2%|35iN*p6=@d=s14738Ye?k(hP+0EX>qFT z!<8}0YB-%xYEPo_;c>Zat|_p|6ojW>>Iex=)r~Zb53yj*8|KJ2&Bncg=3!c>h%Zi3 zB26`Q4R0W!Si!}iby6G(7`c~BGII=P-2NhQVAat$oOKOQIrC{Od^v) zutdrch`C(J=%TzqiLZdT2*({^vqvoE-$rTF#3X??VIeRnJU)hJu z;IYi!8#|=g_ieHspz*MKrCks3Ep-nAMx2h69)|m;;+dGI1@e$Mfq~1J8z~eDsCIkR3d5L*#i^Zbp*nzfaB#yJZVSQFJI~g*dOd_zMF-xDiT!<2PI8%@^Sa3np#lFo-9{^i*W6`E zj@DG=c?Gq96(iN#7lqlxE!;|%mwE<=SEPxfL+)j5nK*vm&zVoFKgrH^y>#2NDihw) zG&inmeaLy1=VaS*!?*)J2mcW^6h0~H=8AjKVdUTjrByp~&ocFg?fkMK(U+^wH>m8I zoVVUdvt$f)WZ24cwv|2~Ak!!3B|ffp>+0FCQZN|tbjptxiv09cLplZX@%8*hgTeI3!68FkZL!#pN&4n!@VUL18g%QaRPm|c2ySJXUB z<;*$$EX3dE%dAO#hK33D6CaV|`?cjR+k^dV5+G(@mM;2>ofod3t(bbHt+36{`cXhj z&qLwh$)|@0hcZsv=UluPH`C+MHOti}4|gAuY-m{<$DPM-OIQ?Ycg~8>FaBV9WsY=D zSAYIhebhdSwTF(=qB4I-vf2qQXYP935o2Yuwt2QLBQL=6yK_E1$FA>MXm$B{b4hbb zNu<-77sr3FT6uKUGRwJxjr;fBb{(j8t-r5UPjr9LxHmXnVYmNj>%My6Z>bGOR!(yj zXKfE=ua@=9X!=$Y{GfH^cZ-kS64Y80e|Yuk{lk9`bzI%b#PZi$EXr{AD*3oH=Zv(E zzNXyRe!g+6e9V; zx2diC+NYlFCyu!k{&g+@`^#EfPWcd9vP%AF_tUMLRQu*d4g0o!??A0spDwzu#_n^4-vdPKs@dHwAjy0I|=0mwD>)C-y)?dcnDZ)Mc9xWStMYw)WJa z>eh-D$)?G`ie-iWthhuW28vhgD@?6xVlvmQ`uHz(Tav@JEq1!sT@-L3Gy6u+Z2z?( z7RPqG+s77VKiZQUe`;y@R2x7TlH2KITQiAj#diL4yM@=NwyL1N<03jy*39Y8OasBa zxoZakH&&hqMSluTDr+p=H2&^?j;yJ-%ZYR;WX|8w_SvEZy5&?E;q=ymyBW*KHH)Sk zD6q09un@5lzAcNq_H%=JfG*j5vs@L}dA~D2QC?9FV)?o|j2Tu(oSmJ!l$TST9G~nx zSQY3zBVVg(`wVz0ESvV{-f6Cbhd4z8M31(ovZb`De|J%pEHd|deRJl#l3w?oJ1su7 r&x-4p|Jd{OaZkoz@Ava(1^h@%sZ76cVyOF|@ehrkbcv)+9JT%zs?qJVrAv4S=Y1r^LP2?=CMfP@4=4I(=gkdO={kYqv1NY#k6F96$z`zAixg@U46&8xzljN{ZlBX{}DVk3g;GCTd91|ck zfCN_Zun7{eQ~@P0aAR>H^tYy)h{KLSl+g@aAlD1)ipXIsl|Utsa83qTN4X#Z@@Bie zaz>vRIH6K0gNVfV_;^A*g@DK-i6EU$Cz8lSG8vB|@QOsKl9zy&Dl9c2#$&Ky1z#?b zDMg4BtBJ`AM`D!>91gW(UuPzfX@g4@uh^q?ASUo+M36utz6}=ewOCoKTs)SBfKPbK=mEE#FR3 zCPb8oLWukgFRl3lc1lsin?k=cw8ruQ98M7Z4P0Y+14oMhxyoUl5|R5Nh?s$6Y7~a` zdYvZL)rW?i$K~-wQcd3T$GB*nU^Y()GjL=QNX3)Lc#z@?f)Evi$Rs?;9wL#nXf7%% z0Z+-(;_dMuiUEDe6o^WOK$l_IH};3 zT(l*9oeY-?c}NvXo|F%Juo*a%3_&CkKyFNXHxRV9BiWNlGzSoLAd{JHR5H_^3bL4V zI{7VkHo}k9XzI1Q0Ci`vC=L!}2R74Jb0;82?AhX`u!Zy-Vc z8}bI>Cl#S(AFqr?R^#dTpnDRU4~Hg+ z6Z{Av7AEE?N6u-LI>3i0^kJoy@R!-BD)&}idE(MJUE zNi(R85HEz$BL1`TwO|Djp^WFrVP+&cFMqSf0z^^)60ew#BYpxY1uyPXD3O><4%;52 zyVHetJq~#5bVT(q-iMyL=WdegObr)`(nPy%gRHSy&H_D-ER6Xm~OK1b}%tu{mcKvzXH} zoa^Sb9H`)A=}wN$yD(uVjkzcg`(;F1bXiA0aa==(zR3KbsX;02*o?n%zFZs+m z&DhLmN$;7n*fMhR5Q%+aUqz0ym#Qd&BRAddXCPdVi{lnLEej}5VugD@T9-X_;*T#= zpI6S!$gpX@?^KaW&OS6p*ty300?EnPuuQ32zwq#{e!~GqVd{`a;eLt-YxxsYguUO0 zC#md9hM60qF4PJ>J7k^vFi8hL+_uV)o0V5MdQXvJoD=)B(zdgEZ7BUg;4{6Y`y#JT z_|51t`ldEn<{qQ~fGMA8E)1}vU?u=eZ1-R@eG>}q?^xl!Jiy{is#{RO%#F)Bu*yqV zYr?%Rd++qk7CSZ0+U=cDPx@T>%gK!O+$n~wCu=qah1>s_!%SzK+j_60Wr1gQmGO-F zg!|TNo`B0PUH;`xO4Gc)Y+=_a1hcoH;i3bZVhJ4GnEANO#U{+)4f=iF>}gwZsHyqvh;CmlU)79Bs43m4TP&-kKZx=n=ir=@Pa`+G6#?w2h*+4}9wYnvj9b1S+feV(E zST0UZJ~#lo1jnQ2y*A~G_IOuX{+( zwUhUmYT7nVL{3m+RG{HrkE+5edt#%0Xvze`v$sgMqHTEP1p5um4<8Tg@yj;0iW!=_ z_beG|p|8W}ZOdpk-us3B@~8#W{2f(yHSJNf8O;=JpU*JN`u22FIohm_$6t-Ob8qL6 zVqtKwV_3JtOZDV_k2KVMb(@P2E7*D!j{Cg%+4-`fwxxIGF2V1b;WOn>MPCE;24+f+|Fv4&2rc>hW0EH4TSY^PO`DJH_X3WBH!iu>L(G_={Pd31 zow`a)h)c%zK*N#0rp6kh?UqW#sJt1HJO79QdD?U{VztGg1!yhxt}^4kv#L8}ZRBrv zetZ8pg+p#&nd~+(wWNJ>fAjwQhQ8HRIN+i0;y~^rxza<)-~## zuTn>q|0gT9hLHbU(f*{hb!U`G5NX!hS}1)@v~K7m_sfgS;z)?7-B9D+lX};9oKS7;pnYU|2R_5Uh$-T1Txw1e1*bySLF3D?KBur2C zJ!)#DTHiV8ybZhYbek3JPFP7htJMEU?~U~*F0#P&h3BW2EEc!@j9X?K z@@GVCWY1Mh=iMpk7ppn!;B5W1Q$kh4mb2D=6;+;PQ*2P7(^XU*Pax(RFeVQ+%rt4z z8}*mhc`vN;i*An@3>!4wwadL7H;-UlUBfgtM{TCLuF>t^)LnTwHP$mY#y@9)?&;Gm z=D8hwjj#^ZTtKV>wtlgmjmvS*e%zGAXB-;Jq`Vy9(^R8)y8ec&l{zzpXY?*%4%Rfc z|8}MqOqe?7xHx>|%xX++w^8HyhE3NqGRjuRiAl5DCOu}Z{7(6}tTeRdpv%4s?pfAUi zqfEYuK^UhnR-4@ps*VJjWf{#_dT@@{L|=?!n3ZW&&$dFnnR_G>M)?JZwQIimK>IK8 zi5rbuqMrZNlIPPsT|P4r%sSH7oi2byrs)P8`|dVyxbdG@i-@UI^eLCPdqO zOTr&#pZMCO72S9+aO-H&PJJiCqU>({?fIt7;i-c>Qd^VS)RJ|smZbby+3TR0zBPqF zXy{P>;}g10O=4k$)dvHA2 J`&nUY{tHKG5wHLN diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@2x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc9ea514efb0cb3fb479cb9f379f4b5b9046fcb GIT binary patch literal 2363 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 Ee=<;PM*si- literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..77259636bbbb8c0b20a8bdad834b22e10fe401dd GIT binary patch literal 3615 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 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@2x-1.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@2x-1.png deleted file mode 100644 index 89a56cb3952d6af3f8f8f87d44c9b1b2300a55ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 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 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@2x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..65f99426647c3919574d68b28926f0c7a808cae0 GIT binary patch literal 4063 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 literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..6f269841bca3e9197ea8304e3b4f3cd2f5c92b59 GIT binary patch literal 6480 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 T>5IGc<{V%Svox+Tgg^No^|yrp literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-76.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-76.png deleted file mode 100644 index e4ccf890abc1d28849228239fdee5266f020ab29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4467 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 diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index d436dd19a..e85b1f579 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 3.2.2 CFBundleVersion - 589 + 591 diff --git a/uploadKit/Info.plist b/uploadKit/Info.plist index 716ab767e..eb68dfc42 100644 --- a/uploadKit/Info.plist +++ b/uploadKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.2.1 CFBundleVersion - 407 + 409 From 6e8c8510a7ef3c9d3a4e28ac003dd0d0582e3b26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Sun, 25 Aug 2024 22:40:51 +0200 Subject: [PATCH 47/55] Version 3.2.3 build 589 for TestFlight testing and App Store --- piwigo/Info.plist | 2 +- piwigoKit/Info.plist | 2 +- uploadKit/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/piwigo/Info.plist b/piwigo/Info.plist index 8176c84f4..50d2d8c86 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -25,7 +25,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 588 + 589 INIntentsSupported AutoUploadIntent diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index e85b1f579..ddbc2655e 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 3.2.2 CFBundleVersion - 591 + 592 diff --git a/uploadKit/Info.plist b/uploadKit/Info.plist index eb68dfc42..42263ea82 100644 --- a/uploadKit/Info.plist +++ b/uploadKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.2.1 CFBundleVersion - 409 + 410 From c9704626847e75249496fff754068a14126f5f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Lelie=CC=80vre-Berna?= Date: Sat, 31 Aug 2024 19:03:24 +0200 Subject: [PATCH 48/55] Adds app icons for iOS 18 --- Assets/App Icon/Icon-Dark-1024x1024.png | Bin 0 -> 23436 bytes Assets/App Icon/Icon-Dark-70px@1x.png | Bin 0 -> 2924 bytes Assets/App Icon/Icon-Dark-70px@2x.png | Bin 0 -> 4537 bytes Assets/App Icon/Icon-Dark-70px@3x.png | Bin 0 -> 7127 bytes Assets/App Icon/Icon-Light-1024x1024.png | Bin 0 -> 44737 bytes Assets/App Icon/Icon-Light-70px@1x.png | Bin 0 -> 3034 bytes Assets/App Icon/Icon-Light-70px@2x.png | Bin 0 -> 4753 bytes Assets/App Icon/Icon-Light-70px@3x.png | Bin 0 -> 7751 bytes Assets/App Icon/Icon-Tinted-1024x1024.png | Bin 0 -> 138705 bytes ...igoIcon.afdesign => Icon-squared.afdesign} | Bin Assets/App Icon/icon-1024.png | Bin 44406 -> 0 bytes Assets/App Icon/icon-20.png | Bin 2999 -> 0 bytes Assets/App Icon/icon-20@2x.png | Bin 3552 -> 0 bytes Assets/App Icon/icon-20@3x.png | Bin 4049 -> 0 bytes Assets/App Icon/icon-29.png | Bin 3352 -> 0 bytes Assets/App Icon/icon-29@2x.png | Bin 4072 -> 0 bytes Assets/App Icon/icon-29@3x.png | Bin 4984 -> 0 bytes Assets/App Icon/icon-38@2x.png | Bin 2363 -> 0 bytes Assets/App Icon/icon-38@3x.png | Bin 3615 -> 0 bytes Assets/App Icon/icon-40.png | Bin 3552 -> 0 bytes Assets/App Icon/icon-40@2x.png | Bin 4621 -> 0 bytes Assets/App Icon/icon-40@3x.png | Bin 5911 -> 0 bytes Assets/App Icon/icon-60.png | Bin 4049 -> 0 bytes Assets/App Icon/icon-60@2x.png | Bin 5911 -> 0 bytes Assets/App Icon/icon-60@3x.png | Bin 8201 -> 0 bytes Assets/App Icon/icon-64@2x.png | Bin 4063 -> 0 bytes Assets/App Icon/icon-64@3x.png | Bin 6480 -> 0 bytes Assets/App Icon/icon-68@2x.png | Bin 4439 -> 0 bytes Assets/App Icon/icon-76@2x.png | Bin 7273 -> 0 bytes Assets/App Icon/icon-83.5@2x.png | Bin 7901 -> 0 bytes Assets/App Icon/piwigo.org-icon-edited.svg | 8 ++ Assets/App Icon/piwigo.org-icon-original.svg | 7 ++ Assets/App Icon/piwigo.org-icon.afdesign | Bin 0 -> 44916 bytes .../AppIcon.appiconset/Contents.json | 115 +++--------------- .../Icon-Dark-1024x1024.png | Bin 0 -> 23436 bytes .../Icon-Light-1024x1024.png | Bin 0 -> 44737 bytes .../Icon-Tinted-1024x1024.png | Bin 0 -> 138705 bytes .../AppIcon.appiconset/icon-1024.png | Bin 44406 -> 0 bytes .../AppIcon.appiconset/icon-20@2x-1.png | Bin 3552 -> 0 bytes .../AppIcon.appiconset/icon-20@3x.png | Bin 4049 -> 0 bytes .../AppIcon.appiconset/icon-29@2x.png | Bin 4072 -> 0 bytes .../AppIcon.appiconset/icon-29@3x.png | Bin 4984 -> 0 bytes .../AppIcon.appiconset/icon-38@2x.png | Bin 2363 -> 0 bytes .../AppIcon.appiconset/icon-38@3x.png | Bin 3615 -> 0 bytes .../AppIcon.appiconset/icon-40@2x.png | Bin 4621 -> 0 bytes .../AppIcon.appiconset/icon-40@3x.png | Bin 5911 -> 0 bytes .../AppIcon.appiconset/icon-60@2x.png | Bin 5911 -> 0 bytes .../AppIcon.appiconset/icon-60@3x.png | Bin 8201 -> 0 bytes .../AppIcon.appiconset/icon-64@2x.png | Bin 4063 -> 0 bytes .../AppIcon.appiconset/icon-64@3x.png | Bin 6480 -> 0 bytes .../AppIcon.appiconset/icon-68@2x.png | Bin 4439 -> 0 bytes .../AppIcon.appiconset/icon-76@2x.png | Bin 7273 -> 0 bytes .../AppIcon.appiconset/icon-83.5@2x.png | Bin 7901 -> 0 bytes .../AppIconShare.imageset/AppIconShare@1x.png | Bin 4713 -> 0 bytes .../AppIconShare.imageset/AppIconShare@2x.png | Bin 6956 -> 0 bytes .../AppIconShare.imageset/AppIconShare@3x.png | Bin 9542 -> 0 bytes .../AppIconShare.imageset/Contents.json | 72 ++++++++++- .../Icon-Dark-70px@1x.png | Bin 0 -> 2924 bytes .../Icon-Dark-70px@2x.png | Bin 0 -> 4537 bytes .../Icon-Dark-70px@3x.png | Bin 0 -> 7127 bytes .../Icon-Light-70px@1x 1.png | Bin 0 -> 3034 bytes .../Icon-Light-70px@1x.png | Bin 0 -> 3034 bytes .../Icon-Light-70px@2x 1.png | Bin 0 -> 4753 bytes .../Icon-Light-70px@2x.png | Bin 0 -> 4753 bytes .../Icon-Light-70px@3x 1.png | Bin 0 -> 7751 bytes .../Icon-Light-70px@3x.png | Bin 0 -> 7751 bytes 66 files changed, 101 insertions(+), 101 deletions(-) create mode 100644 Assets/App Icon/Icon-Dark-1024x1024.png create mode 100644 Assets/App Icon/Icon-Dark-70px@1x.png create mode 100644 Assets/App Icon/Icon-Dark-70px@2x.png create mode 100644 Assets/App Icon/Icon-Dark-70px@3x.png create mode 100644 Assets/App Icon/Icon-Light-1024x1024.png create mode 100644 Assets/App Icon/Icon-Light-70px@1x.png create mode 100644 Assets/App Icon/Icon-Light-70px@2x.png create mode 100644 Assets/App Icon/Icon-Light-70px@3x.png create mode 100644 Assets/App Icon/Icon-Tinted-1024x1024.png rename Assets/App Icon/{piwigoIcon.afdesign => Icon-squared.afdesign} (100%) delete mode 100644 Assets/App Icon/icon-1024.png delete mode 100644 Assets/App Icon/icon-20.png delete mode 100644 Assets/App Icon/icon-20@2x.png delete mode 100644 Assets/App Icon/icon-20@3x.png delete mode 100644 Assets/App Icon/icon-29.png delete mode 100644 Assets/App Icon/icon-29@2x.png delete mode 100644 Assets/App Icon/icon-29@3x.png delete mode 100644 Assets/App Icon/icon-38@2x.png delete mode 100644 Assets/App Icon/icon-38@3x.png delete mode 100644 Assets/App Icon/icon-40.png delete mode 100644 Assets/App Icon/icon-40@2x.png delete mode 100644 Assets/App Icon/icon-40@3x.png delete mode 100644 Assets/App Icon/icon-60.png delete mode 100644 Assets/App Icon/icon-60@2x.png delete mode 100644 Assets/App Icon/icon-60@3x.png delete mode 100644 Assets/App Icon/icon-64@2x.png delete mode 100644 Assets/App Icon/icon-64@3x.png delete mode 100644 Assets/App Icon/icon-68@2x.png delete mode 100644 Assets/App Icon/icon-76@2x.png delete mode 100644 Assets/App Icon/icon-83.5@2x.png create mode 100644 Assets/App Icon/piwigo.org-icon-edited.svg create mode 100644 Assets/App Icon/piwigo.org-icon-original.svg create mode 100644 Assets/App Icon/piwigo.org-icon.afdesign create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Dark-1024x1024.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Light-1024x1024.png create mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Tinted-1024x1024.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-1024.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@2x-1.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-60@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-60@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@3x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-68@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-76@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/AppIconShare@1x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/AppIconShare@2x.png delete mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/AppIconShare@3x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Dark-70px@1x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Dark-70px@2x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Dark-70px@3x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@1x 1.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@1x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@2x 1.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@2x.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@3x 1.png create mode 100644 piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@3x.png diff --git a/Assets/App Icon/Icon-Dark-1024x1024.png b/Assets/App Icon/Icon-Dark-1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..1125717f714d10e7e0b29e5a42eaa13f0f934f70 GIT binary patch literal 23436 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 literal 0 HcmV?d00001 diff --git a/Assets/App Icon/Icon-Dark-70px@1x.png b/Assets/App Icon/Icon-Dark-70px@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..b0f48a9cd9071c6b1d0df6485ee7744d59a3feb3 GIT binary patch literal 2924 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 M(Ke=K2RzUG3-6Dw$N&HU literal 0 HcmV?d00001 diff --git a/Assets/App Icon/Icon-Dark-70px@3x.png b/Assets/App Icon/Icon-Dark-70px@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9430801a912f762ec12521a7f5e894c1f5d8eedf GIT binary patch literal 7127 zcmdUUc|6o@+xJ+8n2@z3j6K3I_KC(=Cs~KGFB5~Y%nW1f`&vnjDAAC@C0UwmA7q{@s7@9Acq=!n5=A008D1tc_ieotY`j9q+G*_P}4nD2DnI=r{nN4G$%t-F-1Z z;ENb9EKWy!^=XSZ80(=UZmVXdWJb`(cw>>_ff(y>a~tN zT7YO1M!-N&7$Tk&=#DWA#^8b^ensLSF0ixyXfKQ@2Im#zts@RqR{FmXTdc=FfCDN& z(m^iH`4udb}6uC4%8 z{7pko9E`4u^$asW2hpXVN>Eh=B~1ktWgBHpn3@_)Mdg$d6sGh$V!x#6`@sVpg#Q1@ zA5=A1o33GI218 zZqey}qeQ%CPzX8@gYcp!Sw|e<>4~LhC=6_QP`zL%7)sxms{g7I;*B{7_3YBC==-1ENFaZ868hk;UWCEX8&Dv<)96ZD4+8)Uaaej@ z{*ey=;AA=}z3ZGFf-j||4B2V2zYbkh_8o+8KB_5iBLR<>J^yg!;apO2Qi4#};H=J! zxfH)MfAf)G-$29+tM&Esb>4xM&!?n)XDk8ooM^AgWOuc)!s@Hk#uK*EO%=P7uOcri zBY8aXwYW`0R_S2G)Z18{~#Fk>_&MU2J6FgFsf6?2O+D+ew0yZ_ke24C33{fcwn z>Ru!+1_)x+yZ82&OY@G2JhXYTeQ$eEY4S%t=BNp}XnMSJ3xqCXfkE;)K zzMI7S-M_A}#OHBT-B?_Om)b+aE>uCCRC??aqW5*(SHjhbw&CBO_KxxIz0m3GfvivTJ>~uc+)tA-f zmF$%;baHlLV>;Ou$Rie)sAqRe&*fGY_@v)uV0^5D&)J*Y!M3Ag4z$V_S!p0C#fBPj zIqLfgzLSRzrOIDSREuLi%*-Li)-ju8Dy{PR+~(J=QFz{I9x+|$&xz(J9Q^LX5=lPN z&LnYRcyof-qa#CbeSyAOVj{P~q$JHIk8C?h1q&9?;ytc1f^I0Y|Bs!328inF`}!m~ zv8q1NCkm<7=t{GGl-_3RKaw~_s$i@*Ja>OLbKUYpT%Xu6;l$n8U7@2(vTAZ5R5`Qk z;%ye*dA(uzMT*!y?liN*(|bjrN@22piYdsWlH7y5J)L&srqMlB#w5ha!!)Gm;nn1O zxobPYBO7vGn;4&J==$o4PVqnJ2eiOX>N@bK9vnQTko=J_d+wFPyt( z$Xaa?y|izwXi~TSQ>l`5$2Fj$?!skLS<#JD6I zLJr8RcIFuCP3l?AMo?Z0>xC&c$7rsbfoa#JM&*%%CPiYyz}&afmx$;YV|0Jy_Ug9> zsN`Hz3d6Ax_SPsKbrqaI;TIFkY?#+Po6;(NdQIhC(dm@}n38@Ib&q@NLn{@V zq-}fNBtZ0LmOS!9K>JMKLUstuRLdkUEb^9U?6R-h&w{nr!aOI5y7EZY_xUA+_vfjL z7sE#IK9_%73gR~|Tv#0yefD-LAThPo-qscs zaOHgERJp2r#|T=-o7cp2;T`8`7ph2e6cxPO)h8O4@hDE#IE5)c86^@vM9Y|pUx+@w z**72z>Ys$#+cliH70H-WIS>t~nbbNtkDl{iqfL#PUT(4@15jrDnWr}$l{N?JuD5YP z;4GW23T90v$}0tzbDNCPJD$gH%;50}TE#D-RQGNZuMCXFZxnF~Ik{Unm|;Ae786T7 zjA}!GW83Or@%Zj6D&FwQL{o`+*m5gvi4;iAT?YHGT8m-U3q4wIvs@2?L-4SrVW+750G~!9Uq*%P)T|c%M1JFlx$K5ek@(1jHjFQc`ING=HSb zb51wa6+n~lf)jf^uNjK~gDs<%M6WG(ls8aan-i`n^VqC$b~63e-Z=&7{1pI>We*g} z&t~ZyqnyOhdwM~gX*_*?!I}mwOc0OfGV7?J7yHUnxf|CnIj&2WvtYySdUxEkiZcEHCX{Xw?B005+7ezd7Me0?UF;1zPyO5=OQ!*-&|7Z`7 z*aU^N^85x&M-s2CKnA^kcdjLbG2LvC20DQEd) zIWVs|0;jFqYTl)NceS%E zjdQ(6vdvM2Q(k`(g(p-m@^s@X9%Gdr`SOqGx)|q#z*Iy~*!o(LbqF&1#0gTI=VdM? zh#hNd9B9c;VI7r!Z8NI9%m3mosQ>HBH!!QxYVAtz%lh!q8ogn)fp*d2|vF%%eWF`u035v<300daQpI7P6(LxnxUj@Y3&k=1^3w zdqG4E7F;mc==(7q*CPFRhrh65)Svv?0Z>Hz?`3{oaX4%8k5~=I) ze6(jO)dHmq&ywxI@{}UZN_6(Y%wQd(0&zhAz|RO69GZ*cKlPPKG~kn7A_F zPwF>YzdA7BK(eZNZ$Sp{E~=nioiaG=e=f_3XtBjx_=iCGwPdu1 zsBOfVep|#4@j*2C^!U9d0pkNw>EfCf{vxAM&*BSv#Ym1n8=v|`P@eXRD#gTS;*zg+ zY7C4Rbx0ro>8-j@o(jURU9kovIg4c}yt6^!O{X(_Ri ztMei)hmWt;*HzN(4&^I^W}bKO5TvyjGVG=sen@@jG_do&j4dYKMiFrq1J&c5?j_g9 zjFDj#=2)Ah)GBFh_WqNZMye)0ES&u(+do^g9uL{=zw|o>C=vFA<5D#MUJ9{e6!p|R zku=6(1DCp|baHrtm!23+M&M00wsM-sjcSdksO&_#Q|wH?oia*sGnng6IiUnxs!!EZ zQQ}WK-H*Kc+eE~%3-+awz!U5b%I{y?E8{I0{}l5mIpiQGa6~5;jXZX)JcYrht0o72 z=hA@xx8&f?UyvMUD@|R{^}(ckVVGBt8RAndY)-tf`CVSR_}doy(pEIjn#ckLUM0Td zWS6yi04FhwR0-bo6x!x5Y)&Ju4xg0epv1Q6KNif;|5UvLDUSSA-TZ}V69J{Pt3FF@~Ro?-utXv6lE* zIqEj{!Gmu0y+UHoBiIA|nXAbbC43i3X!FI5Iolk~KsL7zyg60z7QlI5{vnzGK-5yU z<0kq8-iE&M_T#HDMOT#%zBOt!f@;f9vJY?Vf>0%Zm^$047oga% z9H9DbEn3QeNyMJWBk9s>Um!?8>1yH?hm8tQ-H29kWu=J(+tO!fwdZA<&Om>iSub+! zu1Iim{&@!wl}{5@N@IbFYOPqx6tMPg$YvhSF-wTAHXhMP|kGr&Qs9 zn8;(vKi^e$P8}HXF@*XvtQ&PF4i7k|3NpJbg%ti+PH2hZ@N<|MTzACNd$g|fh&u4yh(qAMxFlCS?f5=Q0itfRq+-> zaf!h0PH^ZvXZ`A$a1M zsqY0AogX=WGME-ke>P_Hgs%kjj-(hq-1>IPntq?taj1W3d^&xpAk;3GLq4P@x7e8q zc}{e_Hjs4j876cVW}hO#aD!Vi_Gk>}lE~Hjv!k>SA!XAUt(c?BM;IEvf*ZF$-!6W* zK>_o#%skOB?)w6$T%0lMspryou988l7}eTDPfO2EkT_Q8uh;z!@ePXf6J9fWZR>Nc zm09cEG}Qn_VvkgCUnVtV1$y7RC(h}PSB(7X&9G{dH&4%6lF9a*rMQ&kUhY1_9FB=Y zPIq4f{IN!<(C@K=8)z=tD-0t;j7&b?;FpXQhR}Gs?mei?>TfnRXtQo!r8wTm{Akcq zFGbr-C#HJxk6jeW+qE6}a#8Z-E7>qaASQIBn7Uqj5-tUza7-{c%~Cdk5zz}yZCWAR zfr?(dbGYPFG2r304<)*InJ~oh4cg$^y1UgQBNe7CF+wR37iXa&MjF}QxM#3zf_46npm3TcQC8)XSxVG2ZIpynn zXiIc@Dy}$|JO2nXLegSlrs9abq`VB+?8)1bZ?J`%JldpE)sNbDN1NcsC6Ivba>9xk z;d2rBvcL8>{^?;FyPFP`X$1I{6`@q|=ri@znpT-K$G51yAatcZ$Z(Dhy z<*-qTyH=uuF9pmn3!5nuLVuZi!{^KDD9F~w;-*67Ut|bod>R)$YkrHht-0q8`LvnP z8wOL|coqIp+`5tnM^cBkUpds}CAT0UYH{oZM?-Ul2VA1bzFAb{$Ccfv4*r12?0#DH z8f$*M>UMG~9Hh(5)@QdL#a{2?9_NF|@l_Z&x9Tek5exr(ii2O=yBZwl$FcFIX1%O> z_KId+_IIhI3GCSWGvt8M%tEbUw~+hFq%V#(#O-KoOV&Dd>qE_A_qp2VfU+Gi?XN}2 zVbbAMZHIZYiS;+T);r35ON zIx-`ov~dGEw&{YP>r=Nx zpZ20PvQNl6E9M?C(*kqjktYM!!#g|2Jy2BOVy`^%N8nfE>B3U<*mKRN?MvrmArR9u zkDXkSlw$5ZzMDSTvjI=Yg>=%El|>W2pA8VTYGes%Kebzm%Q`C4?KmR*F?SY*-r>>2 z3Z95oXZ~V#>{8OHu1?dIrn5tK-n1|Geqs>ewhSKQ=)Ew)&Nrodh}t{L&JbT<^VSBT zM)ZeTn2bOnQ=c;bwf(~{=ZR{NVE+T|}p>eYlneUl*XjO-IK9|9t_x+iNOe&R*!8%U+ zr$&7rZq6l(+6hBIsG4}y>R`mHdxRG#yHIXZ2S5pI`SycMjPaHlJUuG(M})_wzJ&&& z;;4Y6e~GFooKwJ=(bySK&MW0t!dD|YO|mROu8zMk-)e25?wH%B55*UB#`6`Ka{d8H zwwGx|ztUeg?5$m*!UVbwnz27q{sp~Fw{7%}696qtcDN~8x*e&Rg z5i7=P?V@`#$cD@BilrZA_x(5|MtsDV?|;kH-@%>aR!kL(4*q6MYR$p_ac2$94J!29 G;{Oj(etS6p literal 0 HcmV?d00001 diff --git a/Assets/App Icon/Icon-Light-1024x1024.png b/Assets/App Icon/Icon-Light-1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..0170cf26223fd29a0f846d4d3e9d0512492189d9 GIT binary patch literal 44737 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 OV4Hu?))HU#$^QX-ZJvAp literal 0 HcmV?d00001 diff --git a/Assets/App Icon/Icon-Light-70px@1x.png b/Assets/App Icon/Icon-Light-70px@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dab426d1272fbfbc4a181fcc60395e558245fcba GIT binary patch literal 3034 zcmai0c|4R`A0LW}_N1{?PgA-RW-*pB3=IY&hQ{86cg#G@nAI!{QIAX>%~LO2X&Z7UPf85~do1cRY$ zJ^?Xs<2C|dGYJS^b2qG;&>m#5oufsdXEeo&5zS#(G7+{m8rCvAB)|hDbU?=A^2K-= z0WqVChkh%UF$iFWBH<7aer_Isy+8y4=4f*?7Ga|SSc{k;c&dZrCu3+vK(HhdAs&N? zjEqD_nxX}wP>hMCr6mT7!{Bfzh=CGE@g;N_iZ5QTl$h0U0L2UuTPR@*_<&NA9xRYb z2nYm(1E0ht?2s?&eDSC7p+sPm2*w1B#r%~H%Gm!xS0dlgg)D(YAZ7`Kp9A=6i_h>k zhEV$c*+fPc{u9~F?SIpGysyF#OGpt=B0eScE1&+{K=u-%iI>S1ytx@3 zYhi@N;jy#nnqfm{fk~Ip{~ur3(SS8%;pT>SW{V{PQPj-RY@2(6;j^>ZDVIId-vBUE zWjvjs%sK%f6bYD82FRQV3zC~f#ext?BwYj&L!kl_5X6uWHdLP|z(d)&01m)Ghtlk8 zlSmc_$^Cn9m`|=@lt=DQ->fm;cyB#J_{$lE>}J=XvkzS&n9sKeH2HiFfqdxl5ka?% zmN7tr!BpbeP+h*M2MmTxm!?17W=GW8d;5~}Baic>6kq{IL0@vlg6QG}EDJf*>?p8N zU7NKlZQnH_EguMb!P<$V+S?dT0?#BLbSv_Cyq_yY%Qh%@yo6?Zb-IjXO&-8gi-* zJ$zU8JoC+UxWDL{R&iru;xg`blJ9r#-X%1ZJ#*51A{#K_G~51BRCc*ms-}DCUU%}v zUimqBqFz*U522G{urgrft)&qh5wUZg=RxlZmgwreHyb&f9x&s@^w6tG4D(B8N>i^? z>HBWHSvc8I7qcJrL%^}DS4JIalzp2fw`9{ZU^ePHhhOjAyH1@+IuRqV+;cRy#}HS* zJyqT;-xxJ&HF;ZQNvb z>yGr=@sn0b4NDp{z3ZiOM|c%g7s85TD_Y|VL(MOe9#cy{L*KhTn%0E=E*1!#{lzet<_hJb0y~}yhr!hB$PPp= zR($_)cV|6+{kq$jlCZFrJW?dXpSHYVTa&gPk(pypqp{E_sBP|Q`2;h$zTt048x*@d zmR!{~EDh99D4qvu5Sj=Ne6S>=(glVzZPm2Wp=8cscaS$l?aQeeI~4?k7-Oc+(9@l26 z!aS?tKi_>fZ@o@!rVDS-{a!;bQ;phKQqdm2XnSOwih`Fh^A8+67%7$B?+%w&_h&UoeCmGr$wkq- z#T39eoo?6)0LeXTz@yU4yHpdAE-cPOTSFdP zd~Ep6?o|hz&a)+o7R?Mhbe87c>dM$_^i+9u=T1t*oOL;9jDzBI`}>I#)6=_G_vPqs z*P0j~KjS^2BC8}@ZZJ?E@FugNkb{F0%oG}j4Mx)u=+c$=RtC6ARqzmu!Vs0OD-Y|cGuE%`ilG9fyyHrU(4@QyK9dQ9m{OuCd zufFCQ9(iO{rlF-6Uy*U|#X0u{)#j&{()Lg%gvlAzs7oKe>Q2b?!^JSOQV619d*3y%=5N3S9qb0-0yXhp+{zi^+7rgV3_12kMxs*_nywx#a-pZ9LHE8YGPOU4DE}S91kKFEhxcK@) zv&u~2^_`75%u++|L+1$GWS-ht&JK{yrhtXa7&*m8zl>gZO zy9~K5OlG~NoHi2lVQdlg*W8MrXz8kKH8KjmaK~kz9S4^C6qv&ox)fxqRh=@g|M^Di zXe>FuvJ$_1KfG!<{OS61XQ{M|Te+(VS=s1^@i}wDtmviQLUk!E{AuFdyqCWoS>s0z zzLa%*{%Eugf?* z7M}?-{?*2D5b?hkeJpBJ$&( zSne5n-+RI;vg1~)QSzyn%ems5`iP&N=R><(D=XVnesm-+K6R2ey%W9J%E}6lKkmH2 z$JbZI%iG)B%q-U?wo;)WU1wL-ca)BmHwCjj%cQw$D1YvQ$qZSG1`t=e#9OvQatCZy~J&lP9XB#LFC`)}88ofNFGeN*RG zbQjYX6wzrAf4Y4z(3?9RTN|y;8IsvJ-+c4%F&e32RV31{=^Q$5tFm{3VcXMPpnse3 uF8xAa?<>x&JCXa6T|)BCGu6Kyrd4W&ew=31?wC@3l9NdkheEsmB>Wd=>eZhB literal 0 HcmV?d00001 diff --git a/Assets/App Icon/Icon-Light-70px@2x.png b/Assets/App Icon/Icon-Light-70px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e5ba8b00e47fdf1c3daa3363e75927236429961d GIT binary patch literal 4753 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 literal 0 HcmV?d00001 diff --git a/Assets/App Icon/Icon-Light-70px@3x.png b/Assets/App Icon/Icon-Light-70px@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..4599b3de890019aeafc4729625fae7a048fb805c GIT binary patch literal 7751 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 z�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

5vi=xBBzZXS; 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

ytbsdEM>gK;DD8ub}m)7lU=q-RivU>Qolq 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 NJYD@<);T3K0RS8(GOhps diff --git a/Assets/App Icon/icon-20.png b/Assets/App Icon/icon-20.png deleted file mode 100644 index a2391bf83e07662468e603740234b5906dc4c718..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2999 zcmb_e3se(V8XoEcOc&`Mp0m97CiBRPObIk0380N2gjZKxhRK9XNircbJnI&U zv=(s>i|C%UTWQ5w5vbeM-HKWdYad`yDI9gRD(-fV+HQTa)b^~dvUd^*;G@gw*_<;; z?)|_2zyJ6D-@SJlGMA9i{zU#;S|opz)G1?h9OB3 zIMHLZky!@QU1u=TB6dM=lPFqIQ6a04%Q#Olifc3)6eCcAkOG91uW|`grPReoiy?e5 z3=B_uShv7(E?A676>(*P7D0d=9?#6__6K+IciDqFpp}#x#bp>e8EmEfSa+Gn;Z4Iz zql|-bGA@A!czg;T6v1rvyF4(w(>cY17mVc~!@F!B=)qg6+zgt<@LZXPW{l-v<><*t zy6v36@pkSZy!__-*a@s{qR>;87A^O|nM(E{aM3aW2Sp%LJPajp9t+1gw1`er7@Rqt zCY+M3f@91S&APCXW*{poB~X66 zT8aYFE=W1TyG?l28B|klPfSxCpS%U&+xEdw^ELu9L7(HOyL}y$IMwl z6Xf0%L@|(H0g#=y5LyJEn9mn==_nHmq(uNt@Ii6$djeAMzabNd92X19?yHO_D_=U< z;7kJfsFX^%(i_-o%491UN4|jtb>qG3;~1g1$6Ro)Sv)J?MDIo=(^wvew8}f>J3z9T zQs2lobgbcHqQc-bnmp)96v|Vx(=LR=IxJ zuIgdP%2!DvukXEhF?@OO7pF@9@lJ5DW$466W=xv-R`(}Gy$hNOI=|mr^S-8aFzf?` zq$#%Jx8bd!b9Y|IY1#AIa~lMOY*pOZ?VrzjjWcU=zY1^34!c7XG}hlPbcU60d!_Vp zcswhOe-`cAe6%Yr`3L-$MH%O9#S6 zHlrtOQ;x*`Yzty;Oty*7{^H@EQoitmbY_-m`_83VG;7af5E>Mf(XU%xc8%Q|n*qL%B`k4Q%c zUkNrhZfw1MnO_ysT=wsd_*28HS8A^1-<+M%ReWZ~g}KMUo7xV7fi*ttGyM7|+y_j5tF z)jA17R3kv2uHNP{FaURG+o=#)NLUvf$ixPj}DRkNAvk*sgHbm6c1r`PjUA6iCPBEpVzZBp*;`gCzu{Sz;> zH?+m9ZA&`&_08qw)>Qsu30JYPf9KU`a-gR(&V9prroLzrizP$wX_UF%!|FZeX zF9TL`%3wFTZ`jP#@BKy=P`huP$(4Qay|ufR%nukivasRmdb~HHamJ!;>XAj~&hHNh zfyOScg-}@^eK360!DnuL8k^cb__e|oxSB-*Y9ki}cI~R@BA8Wv|*}cy%?N8Ut>7H}=#hM#O!|*;uP3SD>dHHEw;O2HHJ^%4Sb!QG-xPP>S w^Zcs+uhD!*%o*g^ipC=mVPj)`JyHJ&X#HqVu9~M)iSOI##-)ax`og;Z0=S9$R{#J2 diff --git a/Assets/App Icon/icon-20@2x.png b/Assets/App Icon/icon-20@2x.png deleted file mode 100644 index 48c36585b8f5dcdd64055f63c03bd789434bd6b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3552 zcmb_f2Uru?7LFt~q(~DNTa2ztOPNU{F@a4;qPPZ;BA}uS$v{Rz5|RJ`Ttw_(S;ew8 zim33wf`B5c3;0y9B7Dk_q>%fds%@)Q<#CTPUA&u_n%`^_YC&wtK6|GEFYce2LM zcbcWSlQ|BDv-FuR@<+d&v1_CmdJnMZPQ>Acxgmie`Vi?%u1p<6f#m84m|}?0pmrRN z=Vj19vS?UOjDVvM6`$03qKZUB4u)lA>iCImye@oM+&o z0b*c1L^Q-GRXVPLPcp{kqQ9|jDv4->=%e|h5UC&0TdjqOObU}iBYBz=d0KfS*Iy)g zNeaDQ!=+La5)vp0bc$LVMFlt<4wVK{L6D3h$ht(89x{+sx=C1w{um-yC(|Mt zJ)%|-v6xVVI!@0gkx)DFZDuhVQ*f2;4STc>R0E`;0u&l`AXqLlVKs4Dr7;b;j0!8^ z7+9s(p?KguJX!>))a3HX@G&v(dFb@wcr?Q|Y(MFt3ry6&RDW2fj?>CuaXdQmq=89l z6l%R%r%-=}m&yDQJ3SKluF&rdjafc|!v^FtaLn=!juwIIt%V`IS{tZVEBPb=rZA%4 z+cb&Z0W6}k6p|q-EN>Sh7n2h#g7h$-1kwN|nFf*pdLRIBnE)50k!fr$jb=hiQCZ0$ zJ!HbO$pDH00zo>L3336J8x4F9ua+Z`iC==2%eawhZ489Y3#8E~5gCLDiW;wyzmbcn zq;HdvO1VBNogPxjU>^~mgp#2kh@2}Cuq6P%X3*FmjpYFV9v~=?FhK#E2?zxo4miMF zq?W~DntJOlN8N=&x`zkoAreT0bTI<}gkq2>VlY_(I)g?N&?N)hXK4|1wL;2&9L7Y6 z>#bI*wNkYlodmjZ1WXKEbO1CvVz}4I}`L?SJZjR3gTmgGe+kQ!XUy=PAR~4arz?Kcn>C#K;toDhfsqDeC`|>K83vQ}!mR zf3pvnz+Wy|C z@aQcK_`NK_j1c0)$olBK>%lqk71xI$W6B)N_pp8*^~~`aOEHchwh?8_IhgV5=9_hm z)vI}@w|8Gww~dXgOJ#1FU6OPQC)XvC$3CuTYjd1$d8H}#UXEo{U_)bQHM?X8DS#oAnIJV%MAb=LfG)OZju|I%Wnq z^nsxn%l{0IafsiS65Hy zd0=uEO;mNDV565`U3R2c>##k@T;ZNcl4g0%4&Ij}jPQTDe67Xc($`CR3cp#k%C)h> zvtS9hwtT#zDb2ru=4ox2rzaencKlpWcd%7>OW4zhAYJD&8NQBEG*>yaj-A^rShuL5 zL~d6;CG&BT8M(VY#ZsEFCF{?2-D2yFaW4zqnrOHqyNPt$_q^0Lc?x)tTh<8u08g?u(?@-37 zBfGy(tUFP`dH0K3Yl;HpZi;&~O7S(z94YPc~yFOjj zg;A~!sj-Enb~!ibtRXp-2OB0=RarcGbS5~>nlLE*R8%?MFg1TaPKeL_A);?{Q5og? zhKIPhchG{RJoAp+dR%KW2A$4lbX4Xhj`$*Z;xIieN$)4ra zDM~SXT~Ts3I669{;@&iG?^g@1&WGj)G4}QqG)gv%JBT&T#oeuSPaL|_6VG09>=G}Y zeKMVuW2wOJpLq2L#&C4BSR!D(Nl&r`eB*N?z>y3Rp&R?*4|BFnr-a~ z!57U5Dk=7P@QTi2?g6XlHT%x^M{F$0C`va! zzjJ8k`etd{)ZaTMj#?Q)hKAc5PHVQUEIQwOx;p*#1eG;DyEg@_P2Xh*kNz$0L40lP z`XNR89@v_BvDU=jQ54&yBv<6&!%r+uYrs(k{yXW6g ie&guTT%lR|+N|eV`{U*NEoNYU%zVVYqC>*)w7&pIKoUg& diff --git a/Assets/App Icon/icon-20@3x.png b/Assets/App Icon/icon-20@3x.png deleted file mode 100644 index 1f7f19d8c4e0f0d00b29082aa3aae66c7840d1ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4049 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 J`&nUY{tHKG5wHLN diff --git a/Assets/App Icon/icon-29@3x.png b/Assets/App Icon/icon-29@3x.png deleted file mode 100644 index 29bc7de30617d5c4387f2a92859b2e2c4a42ccfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4984 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 Ee=<;PM*si- diff --git a/Assets/App Icon/icon-38@3x.png b/Assets/App Icon/icon-38@3x.png deleted file mode 100644 index 77259636bbbb8c0b20a8bdad834b22e10fe401dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3615 zcmbW)S5y<-w*c@6f`6n-4HEbyMnDKn0r_Y`Lhn)oQba(45|koRq)G|FLWf8IqaaNJ zNC~|NO2>c{kt)(bkdjEhllyjG?!$lm)|q)Yd(NCSXRW>WV9ibS*v|`{2Z2EB2KvZb zz}=TVxEO$|x$FQM1UeImMj*`nZs}?NW1xdjl2=huf-A_#gFq5V0ZB7b(H4SVG?gY? z@px84dm-B^1^miA>AD7Z$rema;HFZwsL!UV0VeGS9}II;KPx+HQ)iQ)-(7wGCv#KI zm`%#Miu%%i_NL0W2kDYui3ed_3%KCx7q$obWuHI>Z=k;*#3RYBo^OYTQ@&Nv zR98!%%-4F2XwXQCFl$8Qzwfu=i7PsDkLJ2Zh#r4x9+o6y#beB3LIUdYwm#&G_Z&TV zRNt4&zgFQX_yFEMy(?>a zvtYVPd@kr|B~dr*)a-pD1LH=$l^#2PC}u?C|?OHWQWN|J=wQcD`N zzizqVNmH}qQKV#am@s~EjC)*kPRzMqR=D-+>*f67#UJNr%-N1M)g2t!KH5K``N!rp zlN~414cmHIt`9~p2?+`Gs+X+$g>qH|>=#RoPeqHUY&sn<=QQ6t)h1q`p9#xDeUu*v z#L7b-XF&LDK@f-yX@JzSdXl|C2scjE6Z#^WXP74QENX%uT{h-?l~v!eLtC2@&7CG{ z(%AdRY9iqhSGhXA*I>`9i$5l!E(hItv!8N%t6X3$KWf4YXD_p6f##54oe-@-@85x! zIgCej@;7QWPk9av^{h*)?rewZ_r;PwUE2u@q!NO1gPJvLN$IIvpFAT-wTv#A7h^hm zJQ;Cm6lQ*@x9rk3x)<$A6P3#Cz}_wu3KOla?p2ZhRlwx04Um7^W@{-5$?Bnp-y#=mS96Dr;$!MFZS23(ucbBp z!b_p~>Eap*YuaIL#YLDn-0nrr=r}j8Zxj~12E%M-)WgD%oJUlwc>FDD;}(O(Y)5+x z@KiC|A$5-%a_qKdL!^!$1QW51e;)bhDMI?VDrAZsn(&?@^J!^F))Nn<5LFRW=)SwH z0L8&#P+iYoiPpvK^JN~zCT&wXGwd@{m*N>@bmvX&{GaO|unmDciUe61rPb-EOElCH z9-$qtl=(u009IgHM*ps2_2M0&!-Lq^D2NO09#D_0l z#D;2zs{j4-+A|xl{_kV}dF|mnB%s5k2awP-HI4CUxj~!YJPBW3uFidxNf-2G5%M}v zx?Yve*W?$zOR*VDmxIe%E`I77wJeGo9u9DRhCU|qIUjuAp>067gA8koNz&xX*`BE3 z?)NEX;w?%%19e;Ab;pxy*+ffiFC5 zF}H;&h5eX}v2Fi6f?dU>n6&11Fe?U_d3*P_lp=A<`7gKB7-icSfx+-t8E%G-r znw<~A9DD(lhu*0B*g#Dt@TPv94%mkd)TNApU(3@ zAip)Gy&-6T|2Ipw?{=ZQ>K-j|?$a*KdRJUtK+( zqkFrPV8bSa*Z(R9tV&o$bWvD$yPBw&2Dn19ghyw6fbY+p%LzC>Y^cCsv7MyCk2hIbCruD}%>?n&yuyZh3mkgy9wc ze+fi5ll8MWo=#H80XpkXw=SwejE@mb(Y|cX0CUNo$sGnj71d%|buW6LcI~V3-&H%* zaP`+APACu+2`L+41@6J=@Uh*p6~~kVsi&yC_izFo(c7g83M7*>aF$vspVWXhHsZax z;+og!h-bOyD0*0l2Y1!Evt+)ZR;2^@6F+~Od7jj=DJv>J*|J zkKc9OM8Lj1vw$!;PmOGibo9`aj`#XJ# zxas6C2Y=p0%X!UfC}wR~Dlq`PwdXdeff22BI4pfSs$qsKfQ~xdCshlu%v**lm$iEv z63*Hz`^^_$f<<}b0KE?f0WX0?-3#vk+8%cUB(FlRLJeot7>Wbg&Gq7r{uaErbxq2U zfQ>+0@qH`L4B4k6ZYp_mHHqcil&rv)m9!`;KIAvVT>m`l+S(a`YtKSOw%c~_NWg6V zylG2PucHV?uW`zmLipF-&2ku=rO9BE9$A*sLkeLwbA$4@0EH(W?t-#;sdg4!x6kq> zzqPH&8%(+<8=K3d1J| zxB03uupbxn#?VB5dr;Fr3(kq#EHB*-s7Sb`;oBG)<&1OgbiL0FoaKZT&-=yHX;-l~ z-y`sjXS4};dHs!{>$ukm2oh6(82rZ!AOJ7ImTWD2RC;~Xg|q-Z`vvAh1#a^jw=l*B z$#$7`nG(0XRvs+AK_Gc@LrZiLHv*Wf9WCPRs-C}OoC$Lu>|7<2>|#6v#@K!W04#GTvG^=kQ$|A8)d|s z%9L zGQHyJSM*F{5o^0(SoQ#Zwki`vdcP9-NS^YZGyByR>;>zo>k!UB_KG*_IDa|(CP9y7 ze0pZOx#?+$s#vPHWo8ZJY8Vv-{$L_H(O=s7@o{FMPeOZAVV8KxaqhXnUFFL@`qQtn z7gGT9msI;WGvI#S9IMX?T$$vAV!aR7EmS@ZD4Ngk#y~BSIP(Y05k1G$B%cJNhMWGS zJ!B03;7j{d&36D;@tt}0Qt%G7TY575FPH_w0@0#s3=zM# zAAgpQusd^^^{wyeQ0q;fFK-z#O)g@(d&CYNZuKiSL0&d^*0$o=`oJUM!ONG%2;YsF zp%JoApRBlK&ub+Nx3bY>Qb-f>}{%;8@o9f5{ z1=}m%AGr##Jy4Fi^BWZ|BA7-BZmb+~|8SpetDM*DP2x^~CO9@570xDeIkATpULV$^ znss}c8GP$7oc7JKOa$y);1b(cs>#gpwR|+@UJ-e(U`fk<7aN|D!9z%xtTsAklQfgN z+Zn7*pO)c6gs_4ZwYeTm8D_-oiARDjH*!FS6s|con~T-xwVdrS zn9bJUxH<1ul%Pj#WX0_47vmD|vqagIZZ=nC*7W{_q>%fds%@)Q<#CTPUA&u_n%`^_YC&wtK6|GEFYce2LM zcbcWSlQ|BDv-FuR@<+d&v1_CmdJnMZPQ>Acxgmie`Vi?%u1p<6f#m84m|}?0pmrRN z=Vj19vS?UOjDVvM6`$03qKZUB4u)lA>iCImye@oM+&o z0b*c1L^Q-GRXVPLPcp{kqQ9|jDv4->=%e|h5UC&0TdjqOObU}iBYBz=d0KfS*Iy)g zNeaDQ!=+La5)vp0bc$LVMFlt<4wVK{L6D3h$ht(89x{+sx=C1w{um-yC(|Mt zJ)%|-v6xVVI!@0gkx)DFZDuhVQ*f2;4STc>R0E`;0u&l`AXqLlVKs4Dr7;b;j0!8^ z7+9s(p?KguJX!>))a3HX@G&v(dFb@wcr?Q|Y(MFt3ry6&RDW2fj?>CuaXdQmq=89l z6l%R%r%-=}m&yDQJ3SKluF&rdjafc|!v^FtaLn=!juwIIt%V`IS{tZVEBPb=rZA%4 z+cb&Z0W6}k6p|q-EN>Sh7n2h#g7h$-1kwN|nFf*pdLRIBnE)50k!fr$jb=hiQCZ0$ zJ!HbO$pDH00zo>L3336J8x4F9ua+Z`iC==2%eawhZ489Y3#8E~5gCLDiW;wyzmbcn zq;HdvO1VBNogPxjU>^~mgp#2kh@2}Cuq6P%X3*FmjpYFV9v~=?FhK#E2?zxo4miMF zq?W~DntJOlN8N=&x`zkoAreT0bTI<}gkq2>VlY_(I)g?N&?N)hXK4|1wL;2&9L7Y6 z>#bI*wNkYlodmjZ1WXKEbO1CvVz}4I}`L?SJZjR3gTmgGe+kQ!XUy=PAR~4arz?Kcn>C#K;toDhfsqDeC`|>K83vQ}!mR zf3pvnz+Wy|C z@aQcK_`NK_j1c0)$olBK>%lqk71xI$W6B)N_pp8*^~~`aOEHchwh?8_IhgV5=9_hm z)vI}@w|8Gww~dXgOJ#1FU6OPQC)XvC$3CuTYjd1$d8H}#UXEo{U_)bQHM?X8DS#oAnIJV%MAb=LfG)OZju|I%Wnq z^nsxn%l{0IafsiS65Hy zd0=uEO;mNDV565`U3R2c>##k@T;ZNcl4g0%4&Ij}jPQTDe67Xc($`CR3cp#k%C)h> zvtS9hwtT#zDb2ru=4ox2rzaencKlpWcd%7>OW4zhAYJD&8NQBEG*>yaj-A^rShuL5 zL~d6;CG&BT8M(VY#ZsEFCF{?2-D2yFaW4zqnrOHqyNPt$_q^0Lc?x)tTh<8u08g?u(?@-37 zBfGy(tUFP`dH0K3Yl;HpZi;&~O7S(z94YPc~yFOjj zg;A~!sj-Enb~!ibtRXp-2OB0=RarcGbS5~>nlLE*R8%?MFg1TaPKeL_A);?{Q5og? zhKIPhchG{RJoAp+dR%KW2A$4lbX4Xhj`$*Z;xIieN$)4ra zDM~SXT~Ts3I669{;@&iG?^g@1&WGj)G4}QqG)gv%JBT&T#oeuSPaL|_6VG09>=G}Y zeKMVuW2wOJpLq2L#&C4BSR!D(Nl&r`eB*N?z>y3Rp&R?*4|BFnr-a~ z!57U5Dk=7P@QTi2?g6XlHT%x^M{F$0C`va! zzjJ8k`etd{)ZaTMj#?Q)hKAc5PHVQUEIQwOx;p*#1eG;DyEg@_P2Xh*kNz$0L40lP z`XNR89@v_BvDU=jQ54&yBv<6&!%r+uYrs(k{yXW6g ie&guTT%lR|+N|eV`{U*NEoNYU%zVVYqC>*)w7&pIKoUg& diff --git a/Assets/App Icon/icon-40@2x.png b/Assets/App Icon/icon-40@2x.png deleted file mode 100644 index 89a56cb3952d6af3f8f8f87d44c9b1b2300a55ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4621 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 diff --git a/Assets/App Icon/icon-40@3x.png b/Assets/App Icon/icon-40@3x.png deleted file mode 100644 index be189768578e5114e434e0b214986d154b3418be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5911 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 I1ZVF5044{tFaQ7m diff --git a/Assets/App Icon/icon-60.png b/Assets/App Icon/icon-60.png deleted file mode 100644 index 1f7f19d8c4e0f0d00b29082aa3aae66c7840d1ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4049 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 I1ZVF5044{tFaQ7m diff --git a/Assets/App Icon/icon-60@3x.png b/Assets/App Icon/icon-60@3x.png deleted file mode 100644 index b0255385f363bde8c537a052ab092d4e781158c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8201 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 diff --git a/Assets/App Icon/icon-64@3x.png b/Assets/App Icon/icon-64@3x.png deleted file mode 100644 index 6f269841bca3e9197ea8304e3b4f3cd2f5c92b59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6480 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 T>5IGc<{V%Svox+Tgg^No^|yrp diff --git a/Assets/App Icon/icon-76@2x.png b/Assets/App Icon/icon-76@2x.png deleted file mode 100644 index 5412bb2db30b1621e20049931a9a2d756f476998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7273 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 U%2|$p{~^>?Kd+XjVtw_$0J^ww?EnA( diff --git a/Assets/App Icon/icon-83.5@2x.png b/Assets/App Icon/icon-83.5@2x.png deleted file mode 100644 index 42d9089c2f1ff04aea4f6d3bf856fa9083d83957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7901 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 + + + + + + + diff --git a/Assets/App Icon/piwigo.org-icon-original.svg b/Assets/App Icon/piwigo.org-icon-original.svg new file mode 100644 index 000000000..e869635d1 --- /dev/null +++ b/Assets/App Icon/piwigo.org-icon-original.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Assets/App Icon/piwigo.org-icon.afdesign b/Assets/App Icon/piwigo.org-icon.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..d6197c3b8a001aae5c2a7f355bcdb943252ebd4f GIT binary patch literal 44916 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 RIwK(9r=qBVE|xb9{(sbXU?%_o literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json index cbf116478..e91cbd33d 100644 --- a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,112 +1,31 @@ { "images" : [ { - "filename" : "icon-20@2x-1.png", + "filename" : "Icon-Light-1024x1024.png", "idiom" : "universal", "platform" : "ios", - "scale" : "2x", - "size" : "20x20" - }, - { - "filename" : "icon-20@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "20x20" - }, - { - "filename" : "icon-29@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "29x29" - }, - { - "filename" : "icon-29@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "29x29" - }, - { - "filename" : "icon-38@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "38x38" - }, - { - "filename" : "icon-38@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "38x38" - }, - { - "filename" : "icon-40@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "40x40" - }, - { - "filename" : "icon-40@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "40x40" - }, - { - "filename" : "icon-60@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "60x60" - }, - { - "filename" : "icon-60@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "60x60" - }, - { - "filename" : "icon-64@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "64x64" - }, - { - "filename" : "icon-64@3x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "3x", - "size" : "64x64" - }, - { - "filename" : "icon-68@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "68x68" - }, - { - "filename" : "icon-76@2x.png", - "idiom" : "universal", - "platform" : "ios", - "scale" : "2x", - "size" : "76x76" + "size" : "1024x1024" }, { - "filename" : "icon-83.5@2x.png", + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "filename" : "Icon-Dark-1024x1024.png", "idiom" : "universal", "platform" : "ios", - "scale" : "2x", - "size" : "83.5x83.5" + "size" : "1024x1024" }, { - "filename" : "icon-1024.png", + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "filename" : "Icon-Tinted-1024x1024.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Dark-1024x1024.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Dark-1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..1125717f714d10e7e0b29e5a42eaa13f0f934f70 GIT binary patch literal 23436 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 literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Light-1024x1024.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Light-1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..0170cf26223fd29a0f846d4d3e9d0512492189d9 GIT binary patch literal 44737 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 OV4Hu?))HU#$^QX-ZJvAp literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Tinted-1024x1024.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/Icon-Tinted-1024x1024.png new file mode 100644 index 0000000000000000000000000000000000000000..65e77c3510b26eccc1ce452ca6691bb1dbb59a7a GIT binary patch literal 138705 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 z�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

5vi=xBBzZXS; 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

ytbsdEM>gK;DD8ub}m)7lU=q-RivU>Qolq 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 NJYD@<);T3K0RS8(GOhps diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@2x-1.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@2x-1.png deleted file mode 100644 index 48c36585b8f5dcdd64055f63c03bd789434bd6b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3552 zcmb_f2Uru?7LFt~q(~DNTa2ztOPNU{F@a4;qPPZ;BA}uS$v{Rz5|RJ`Ttw_(S;ew8 zim33wf`B5c3;0y9B7Dk_q>%fds%@)Q<#CTPUA&u_n%`^_YC&wtK6|GEFYce2LM zcbcWSlQ|BDv-FuR@<+d&v1_CmdJnMZPQ>Acxgmie`Vi?%u1p<6f#m84m|}?0pmrRN z=Vj19vS?UOjDVvM6`$03qKZUB4u)lA>iCImye@oM+&o z0b*c1L^Q-GRXVPLPcp{kqQ9|jDv4->=%e|h5UC&0TdjqOObU}iBYBz=d0KfS*Iy)g zNeaDQ!=+La5)vp0bc$LVMFlt<4wVK{L6D3h$ht(89x{+sx=C1w{um-yC(|Mt zJ)%|-v6xVVI!@0gkx)DFZDuhVQ*f2;4STc>R0E`;0u&l`AXqLlVKs4Dr7;b;j0!8^ z7+9s(p?KguJX!>))a3HX@G&v(dFb@wcr?Q|Y(MFt3ry6&RDW2fj?>CuaXdQmq=89l z6l%R%r%-=}m&yDQJ3SKluF&rdjafc|!v^FtaLn=!juwIIt%V`IS{tZVEBPb=rZA%4 z+cb&Z0W6}k6p|q-EN>Sh7n2h#g7h$-1kwN|nFf*pdLRIBnE)50k!fr$jb=hiQCZ0$ zJ!HbO$pDH00zo>L3336J8x4F9ua+Z`iC==2%eawhZ489Y3#8E~5gCLDiW;wyzmbcn zq;HdvO1VBNogPxjU>^~mgp#2kh@2}Cuq6P%X3*FmjpYFV9v~=?FhK#E2?zxo4miMF zq?W~DntJOlN8N=&x`zkoAreT0bTI<}gkq2>VlY_(I)g?N&?N)hXK4|1wL;2&9L7Y6 z>#bI*wNkYlodmjZ1WXKEbO1CvVz}4I}`L?SJZjR3gTmgGe+kQ!XUy=PAR~4arz?Kcn>C#K;toDhfsqDeC`|>K83vQ}!mR zf3pvnz+Wy|C z@aQcK_`NK_j1c0)$olBK>%lqk71xI$W6B)N_pp8*^~~`aOEHchwh?8_IhgV5=9_hm z)vI}@w|8Gww~dXgOJ#1FU6OPQC)XvC$3CuTYjd1$d8H}#UXEo{U_)bQHM?X8DS#oAnIJV%MAb=LfG)OZju|I%Wnq z^nsxn%l{0IafsiS65Hy zd0=uEO;mNDV565`U3R2c>##k@T;ZNcl4g0%4&Ij}jPQTDe67Xc($`CR3cp#k%C)h> zvtS9hwtT#zDb2ru=4ox2rzaencKlpWcd%7>OW4zhAYJD&8NQBEG*>yaj-A^rShuL5 zL~d6;CG&BT8M(VY#ZsEFCF{?2-D2yFaW4zqnrOHqyNPt$_q^0Lc?x)tTh<8u08g?u(?@-37 zBfGy(tUFP`dH0K3Yl;HpZi;&~O7S(z94YPc~yFOjj zg;A~!sj-Enb~!ibtRXp-2OB0=RarcGbS5~>nlLE*R8%?MFg1TaPKeL_A);?{Q5og? zhKIPhchG{RJoAp+dR%KW2A$4lbX4Xhj`$*Z;xIieN$)4ra zDM~SXT~Ts3I669{;@&iG?^g@1&WGj)G4}QqG)gv%JBT&T#oeuSPaL|_6VG09>=G}Y zeKMVuW2wOJpLq2L#&C4BSR!D(Nl&r`eB*N?z>y3Rp&R?*4|BFnr-a~ z!57U5Dk=7P@QTi2?g6XlHT%x^M{F$0C`va! zzjJ8k`etd{)ZaTMj#?Q)hKAc5PHVQUEIQwOx;p*#1eG;DyEg@_P2Xh*kNz$0L40lP z`XNR89@v_BvDU=jQ54&yBv<6&!%r+uYrs(k{yXW6g ie&guTT%lR|+N|eV`{U*NEoNYU%zVVYqC>*)w7&pIKoUg& diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-20@3x.png deleted file mode 100644 index 1f7f19d8c4e0f0d00b29082aa3aae66c7840d1ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4049 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 J`&nUY{tHKG5wHLN diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-29@3x.png deleted file mode 100644 index 29bc7de30617d5c4387f2a92859b2e2c4a42ccfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4984 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 Ee=<;PM*si- diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-38@3x.png deleted file mode 100644 index 77259636bbbb8c0b20a8bdad834b22e10fe401dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3615 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 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-40@3x.png deleted file mode 100644 index be189768578e5114e434e0b214986d154b3418be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5911 zcmb_g2|SeR_jePOvP`x}nnsIkvl(M1Lo>!&cG)gv%nUP(8O+EU?zA9ELZy%;6}PmJ3zQ-_r{i=i}4T@%JK; zJ*XV83)PLz#6dokJ%E7e6dc4BWdbwt(xuYqhJij*t3Xq0a-atpLxJdM3u*ad0R^5^ z4hih<$zZav{y4~rUM%pP_ZSKRuTVH1IEbBzIartFLj|MMP--xUwh&m$hvJI0B*d>{xWCaWTUtKQS|I|(*N?*0s_AE1HnVbSBU4y(_+~3Q>t94iyJMz~CrV7(x|}w1&g6C^!}Y zQ-z_iFxV>F1V}3ii9=fDqgCMm2X2i(Vo?YzTtgX#_>Rw_&|L$5giRr1U0FV!Bw$@g zUS143nZ!#d=usx+w{%$z>F>svm|%^VYz~P@rWz4(5WpEVI-P>m$D{S(aI`uMjeu!r z!r__-1YRG7z@t%c0v>}wd?QX|k$rhN^}9F)5GN3jnwkhrB3_?>)KiDU33><=Q5~g$ zN25Do&k3A~_i-t`ZP{r^t+gK>yS2g3d}GQ70ECA2jh zg;m$YB9Y&0=6~nXcMC(Nk(h2&ph-dhKVAKy?YnCIs;mE{4y}@ZWcB`3Ay;Mp>Z}%& z*X(}JT`lNevimFHo9+nY!`Ej(*9F=)bhUp2H>)QADiesP576H`%gIT6d_QsNy1M3U zO9KMfNKaP-j?vIiMX15~_!MJ(W9ttP@DkxVg^G2zZ|X&@-QbbX%zsS-Z)^wN;o9Vp z(P5i&OMsTt{34cfM~dLUwyO>R_Id{1NB!w9X)#Hj|>keq8{80x&m z-N0Tx3Ohhm?qliDkhG)l^G@$Kslsm7&268|6%9=mODbJzw#L}snk@~@#iTSz-c}ci z*_(YqIz>VxZ}3oD@yUJh9Cfu|rJfs41x~U|a5k@{kGPnc$G|Dece0P|rwAH~^we{c(M9?P~@j=ebSRM1mtFC%J zl8J|eXex0KlN4%xoV61CIr%mC{xHsRWh!^jU`xv-Jb*d>u*d!_; zWoe8ZEE?-OpRL^4d;BowgWZClS&myb|DZ@Ka8ldgWoXal%M44`tG)t zOMFHd)w>Uf4<;5BwTYEwooP9*G~r%vm3=ESx=9I=TVt?x(+jG(SdUIcSDkYVNX?^xkOn>LB{_P7*_Cog|_0!nYcR2d%0?4i*~ zX)z}^IAY$DK0iy*jHL}diLRUVa_AOEE%muyLq?xHsVEBC$lNQ>OyEZ#8=ras0&F1|_97w+%^2Z5FoCOzxYl zTa0Go2aN7d&noAO@!Ls+z;Kj(mMh?fnd%GFTbT-XxDQMm&eJtQeC{Fv@rjKc}tZ=idM;pQx6rsaa zRXHl@!qshU#9!83KlrIgCuLnm&8D3p?uCKf+vn1+r5+QVp9fLZB_u&qiiEWI{If*O zM!z07zl^l8u_N-hy`^yV1q>{Bl9K-Hm2P-My8HblgQ5pnJk+;RM-Z>~kQ!lbmyoa> z03HQ}>}v015Uq4lbgm9RY$)`IT*&XO7{`SY)1QSCv{)Kzx9`)J@NHkRlpo=NndJ^3 zyRg;4U3Gk_>s{gVr~MZ8g$8g9iPwL65k}{GQ`0f_!7Ws0ak14T>xw11dLp`4 zrtAf}72VpwU-s&vwzfBScxfA*PSk~N68X>aw%#ZNx8|yaR!|kv5d+|**X`HNm5(l` z^RRGh#&$Fx%MiJu`*GhXiEsc{Zt$S{=IQA9j$QdvMson97Z0n+-a36c;%uv{TUl+z zJM;ZbpF6|t>=j)Raiu%Tc&Iw;0=?tc&H=DK%A+UdvveZMp)`-InApJ#0u$fC&Ev*+lP9 zM#!k@Qqk>?`OF~S?pxgU)3xMZgWX`>|QrRESiZQFQ1;l^C~1b#r;vT<0SgGv~`qa8b?88GE4#AyL0v?wFw( zjmRny%iK1myp@VHRoUX(-R;RLF3)}5a`$2G&x0{Hc1f#idyJNJyX{6MdJ`e7@Z+DH z1)ouNHG0hB9celH$J7+Kep_;j9%O-jaFki<~%>&C+UrD5ej_U zpriV#(wt7GXT>7LtGF+l=HMV@Zd)vfE^y|&TGyyE7&$TdaqxA0C1D#9w#|r#GcN&L zE*RMzx>?3(x=MVb^y%q?axFp*iv=>^r&jT3B?~J@E5{5Z(&EENi6~uQTSh?LxxkoU z>K*MY{8GY#@{H}Yfc&I>%Vy>yu(oc4rfO&Z?FXdL%H|Q8@4eGA2ZaNbc^JdZ$_G79 zpVoUHrT%spH?duOz+rEx<;9)BgpBj=bnCXC1&L_Xa4Q~G&eezUbqJf5o-=P!#NXQ1 zGcG=OCfhM7$a|u?bb%4ABCfJ=vykjeLLqYU0tzYXgy&&_@x*SOIRQU2wlUa9I`H_y302VOnXVIRB2IGI7$>7e<5E!>fo<1)FRxk055R(UAjfQk zgrx(>%CAeAP4L-nyg@eAAxV*CtyiUTC$)C%!Yn;p04Mc$frsgr`&rUF*8-ROGtS=t zSk%Uo80jI$Cb#3{VfZi1Y+Vz6*#T$kF^SQ*z-wKWo>`YiuZt|bo^Zn4GCrV4qp;Gh zWJ{SJklUbz3hj;UR>Ba)`jX&dUAHhS{y7R zKW5n9jF~5|{23M>ie6^^+Iu5AB|9+NI6m|)C{`T6@jPY7>%X9 zJAVF|Ez?I{KX@EkjVymYt^Fcs&s)VL1R) zKsI-9#rf13_w-*C=O^EXY^_A~$!%~@U@7M1?Ve0j$UC$~Rx@=3XM8g1Zq9bOSmz`5 zRjxgTC8)a+CB*@_?7obdv&Gpa3JL;Sy+lnHO9GY@6~VM~&F0p`csufoM1xr`^I)mW z#}-4k)zSexCb2u^xc#8{I>Sk#t6WQDmG9KAs56K3^oR!T1t@94MFHyC@t`NqV`#b` z?~sWWZWp0`bBk$0DC43&Tr@6 zw{Ahjj|(jWSAz-aqtBIX{5!TvbjjK$ulI#bONxpKTnm0R)K%zn_cv_W*)S@81M|$64gJ`pqY@lDPCH=WO^}fPvk76s#bgn9H5`C z>D3i(vDNp;yoJmjt{~10i;XZoa8XrZ;ij5`ZfJH~FgSTwVd^r9NR7?P%Cm@(j*m$T z-FnaE2(L?}Cs<8RMRIqkyjfb_Ux7HU6)WR*jRUy@935k-p1UAGnLRJ>C(`U+wddv? z9rxizZ|s5KN6O)o3BAG_7t&rm#T8UBj-nEYAFR~{XSEdN!!~A@_?;;`HZW(TC95(F z=kAUh_7?Wm9j4(UD~>JTd2#0ke>(k`HYp`~Zk^OUQ!ppVJpJAJ%gJeJjmJAc<%Z^W z#3gM$oi0278DlzTSJFiSPX6$`qVX*=yl?-v-vIykE8^FU1kqXhS5f}8y#KR}^h}9) I1ZVF5044{tFaQ7m diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-60@2x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-60@2x.png deleted file mode 100644 index be189768578e5114e434e0b214986d154b3418be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5911 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 I1ZVF5044{tFaQ7m diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-60@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-60@3x.png deleted file mode 100644 index b0255385f363bde8c537a052ab092d4e781158c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8201 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 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@3x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-64@3x.png deleted file mode 100644 index 6f269841bca3e9197ea8304e3b4f3cd2f5c92b59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6480 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 T>5IGc<{V%Svox+Tgg^No^|yrp diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-76@2x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-76@2x.png deleted file mode 100644 index 5412bb2db30b1621e20049931a9a2d756f476998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7273 zcmchc2V4_bx4=P~qJT(KL5YA$5mF!okkG3T=^_Y12mvC5KoWYlp(0HL6e&_gx=2yF zfJzYomnKEZq5{&Scis%{vhMEpeQ$s7_ujkzUlL~Sx#!+<=G-}FhTHn*HCdRCGSkq| zuxM+k83Ml#z|X-w!1r62Ba((@uNcAjBK0ChR}M!aN?>hCHh2k7q6^SZLnE)~>4L>M z;;9fDygk7gEihAFEdU|dq6JKm7#PMy74JaM@+RYryw4lsyd80}wgQR@%<`UcfC3_( ziiLO*ot!Cho@jv`y>h_c;AyA;WJiSRh!(hr(TAv#$an}+0x1C#P+*40lWpzf4AnG# z8w?zw1steU7da@@!^1%O zBNJSx1d=lZ)QPnrxlz#q0zg0H_mvS{c9lC*ezP9%1Jo1i0)<;;t>WRcZji6A~-GLSUX6?TmK{57n!9xx46p|Ym zhgWw8W)}Q;kuDA-Dv9Di`Zsp%cK^*fD#7j#NB?PRu;*{$cu&H=5eIwz5C@zfr%J|S zsU)&7iR6S9PzECmqW}9cA*x2w5Mc}!M{ow$EwW?F?jXDxmWoFUAYgE$I1C{Umo$dM z<&bbW1WX);l7qo^r7=KQ*17bgM^3kDR_-P!iHaM^X~?~B1; zjYLW!cNFh*=@UHhP8Zb(fZr%P^TS~XslRla{k0psS3u-yM)!hfai@I|l@^vrXl&xF2@n!05)??o0(}`_W1G7Xk2(uHdc)4+lKp#Qz-myTTNb z9n}L%#w*(c*X7^rF;jxGEy;r-A^`mdMp3Zt|HLGiva-4w3NEXGQjrFOQWmA5rlAf; zsHscIsvwbSe|E}WOhOsMk#bTpa*~oiZRY=(Nq@R9I0vk=JswC>(Em+S|Izl{UHz`9 z|KUEgEBsHc-e2yJyJP=utUMG$nQOsxOf^G+N%UrReg$~rV2z`T~!(`D=jUKkbu+B2uHd_HtVP;a|SCG3pW*H zs)x|;bBu1MOOsYUcM)>JuFWyE+w`&f%kI4d-XbpM6zNLtMV=06hhy~W>}nwwazlFW z_rLF~xg}rsaK44~h0pGNAo89;q4xldEyYWmZ}#PvFFY13tv#+Ik6G-E+dIGO3u|H4 zU)0&W;SD#-UV0gjE1THHRUpM2E|L|)lgP=M_t_+>^v2oyR4EBx(f%im3^zy^^o3!b zC?l>dgjvY-O=}{Td%C~tB##(DTAFOhBT#PlAOJg*#j zrM=LWqx4kNtoI)A`8IzROh|O%<|M_JEz)f@ORQ($+GW|9i))N}Ire>YpIJMAN^PHu zmKlYHW_uo_DlXt^A3DrlTNTVoUe4I zSz&MTepNzbK=`!Ya9*ctd~nqTa>VE$s}PR4Hpo_2StjDH$X=#w&_@knNlAjnE2GSl&)u3(YcChHWeI}Sr=Bv?VR$ocmx2!`8 zPtJPmiJi{Rbu;7dX_bkPc>J=vdHoJswh|=uK2CbLt?qacBogFfD z+RA8tL$iG{5*{AS11RLLO6PE8aAO8IX$Hb$qTIpwMgJ_f2*n&!LT z{Kd|Z7+r39r6#CCr?RQY+`1#^?g8t5N(c{KWof@pet#u7J-d^8zy8{EAzsPL3wxsN z2&uGrK+NNH&<3i_zIJH%$ZdSFx1N(=#Z-fP>gDy`0AC$8Shyuh3_H&x@0ypn_psF1_qU&?!{a(Se3y>Q4hMD^*Hm>} zi7r=csrpTp-I^aAQ_}!HepqSCX{hKr{ZRU{sA!;q zBJ1%p9swOwRi?oQXfNN%$)RUF9vU87u6XVh$!z%U$laR!sy!9{-8$?X)8%I@VA@(36m9S%w>)m`u~f6u#C z5)BgltLR&ku(S8Qg%|a+p7t0!iI&)1l*~C|)AxaEjG4;tW*o#-9R$8^v-Em${?S)d zD=D$3WV*iiG}MZ*tLsfYO^hoG%iN;c`QyA=WlpL|T$Y=R#XhFXdDE8oo#qp_EHy*O zo681p%qIbO;Pr0hzv>=xyj7y!mqNUq46;uFB+eI8b!xEKZ&hJ=fnYr#ma6IV53!R_Gg2H=gF3R89Ult zB-V6GR`AQ+2T|>D07v11HX8K@OpASoZ2c8x)gw|RT%HiF)m}p&ZHCLjdx=;`DFzb`8wvr zKASe>S7i8M)&VOvI#;qqt4p~fcmc}ms{oFlRdDy6^c1<2`gDSnuBMs2zV8sI;)FfGhtMikKZXz{nzf^Y((oDe zdN)$P-JyPb6FJr3p1IJnHIN+HsNDb{!%tNhtC;Os(Hvi_>1pj;!Rp|H(q8irUZWy= zZx*vS^2V4%01U~-5~mq0=NippizOV74McMdsKgVeEtF8zR*LP>pVJDJKFDQ`@K~jV zpm;t=q*)H73r{Qk+80VfRaMH_xYbYWZ7=pom>l4}#b54{Jk~@u#6ZUV1;w?`9K!e- z4T}4l_7ZylGW#x;K66eT>ou4%%8;@0L+Ur?563s2pt`vT-i3YOGsYs(hcQoiETb=f zpWVI_#%*bKJZqm2@q*wXbi!EJFR!A<8zKcY!}y+_%LF)Rd1)gX%F{`IZz7;Pvn3H@3S+^ag3EY&-b^{Luv!QrdH za9+P$gx?^)^Z^wV%@eLcH4|K^2W-)LLOC)uA-|m_IoZHqk7L<`OH78{hqzB=apzvU zB1Zy%0#l-mQlGYWXbD2|vKmrr7iA(8lTY5xWi#V1R1gBY&D~-&E?bzeraA3Nn(8w( z7B@d;VT|me*ggN~Bps6dgu~PLMIxYibWp`S(+ccK(M)WOC}fviKut%yvd~^=U?M|4 zr<4o9B51_{QnH>Uaval&)V%TSB>{r;I?9rCqEp!ua;dg9Uh~$v>n}=cKzTuTxzEp6 z&16)mNqxbGqu0G^*=}_SQO@gpRO?MgBZkfkEIz1u69<>-X^2juSx3Lg_FlYTQJHsV z$$iMY_jB{em9nr$j2|MWTxhziU6=D^BFOCMIjV6R`-p$PR78ERrZt3NJHZZpQa)l& zICD2;MrrPdA%j}D@1vR@erRXwX6x2@f#NRbY8QmgWxAkCS#A4#Fqo7pi$Jb$s(ucd zvL9$1USflyvpWK54b?Zm6r$)^HGLfNER7_|7BsJF^Z<+*olhA=r4^rUjIJGeMm^xZ1lxg|* zkp$;s4g4M!6?^07MW8$;a67AaRS*2C7_F}5D;s0nC5g{V%=&aw#q%ZX4%s=8Gh5&g(t9~f16~KnJWY?YA&DH4@CS@daDOiJpT_d%1Tu0(}wy zR&RnPc3PIg=pd4p&0%VETy(DxyI0~u+!(Um(FV*fWxP<~Ox+{7AUk=>%EAO0&wKj{ zuxX-%l66?Y1R`k@*3*bcO^mrxPITMbG};mle0Lr=P%H*y0BOEU$qTB@aqP^ zHkI2=`lO|iw4vKZCMU}Z<&8PCfYQYIvA4c4cg z{29AUhtJ}bXKr*mZT`+2z#cLk!0Rqk{-fy| zW~1i^e|Vo^OLkc4Dn)iSa= zpCzw)Z%&bulSWa>cR7Kx^NE}8w+CHtFhAY4uiUz>fx9x<(ew1#ha#nXJD_?^mRkJ$ zWJJmRP2W__v`7e#j^QVI4&8@tAW)y`$<4x2`>NaNgWgNSAA{}rGuj_VMrIV}XK{;@ zs|qL5MwISt`;64F(ayj6^@CFy?&`h_!upe`q>}B>5>)Rehj}PK>{xDGVH^GtmsQ>h z`E{((*(dJjr|u)}d>Q0F%LvxPXE1*0`hJjc*3Q#2l`8^m$O}!?InRE@y?q-t2y?Bg zXW{7dyLR2boTZWX9!lu#nNYK%&yAb9#!S|Q5NJ!xGA~JeF-S-%{7Jpf7u~0qQpBFk z2vtXIoJR~Cj4e|)O&Pr9f0mH<_>)s#fZ}reJWy4H)*nvm`y z=JZ`WXbeE5wzMNPyI*8j8aS|uVtk|QN?LOHWF985`5KIBYi2SresH{2ikiJo_~0C>+39i5oA zU&I&2VCa0|wG&ShS9a@0x~23B*^ZZDlio7k8(U`K+grhDX0~tPlfWRO-H-a$q*s&} zy<|P{s^i+z3=J@y#9>~0Z5xUJH-1|1%XnCoAQfwK2?B|Ls;0v1qovEjb!xxVPg zs9>gh2jq|Pv%M4UspOqqv&_FtUS^^x`>C48N*SH=X)U&3yb2)n?|} z{943F=1#q;v(Ezkv4f6|IGcFKBG`DFz4}pN*oYfnLx9bZ?lzj7P5%zzuf+FOYkAr zbb9N>{}fJV(OEsdnMqfT2iDnLFsWK^1~h zsrRO%xp=leLqDKNi~qCKFEoX75<ev;E`7iEXW}KleIULjMwjr)S%sxohyUb#8oV(%88FC-_?tAS2F1N zw0PS3zkO!ddAvNZYD7lB79QQ_eB7F&d~I~PFSo5@Z?EJv?ujRzuR6DH6;#MXAea-6 zv(p~f1i}(FN^0n)2ax3X;8rUs3ovC{NsV5_T`1e%8ZPpYBuRd3A};j z%XxKIYJ;ebaq^*zW0k9G#w(75SSVeX6H`9-x0s#xBYFp{|DWEJ{HGT)quaD}k3tjT U%2|$p{~^>?Kd+XjVtw_$0J^ww?EnA( diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-83.5@2x.png deleted file mode 100644 index 42d9089c2f1ff04aea4f6d3bf856fa9083d83957..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7901 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 M(Ke=K2RzUG3-6Dw$N&HU literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Dark-70px@3x.png b/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Dark-70px@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..9430801a912f762ec12521a7f5e894c1f5d8eedf GIT binary patch literal 7127 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 G;{Oj(etS6p literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@1x 1.png b/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@1x 1.png new file mode 100644 index 0000000000000000000000000000000000000000..dab426d1272fbfbc4a181fcc60395e558245fcba GIT binary patch literal 3034 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 literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@1x.png b/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..dab426d1272fbfbc4a181fcc60395e558245fcba GIT binary patch literal 3034 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 literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@2x 1.png b/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@2x 1.png new file mode 100644 index 0000000000000000000000000000000000000000..e5ba8b00e47fdf1c3daa3363e75927236429961d GIT binary patch literal 4753 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 literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@2x.png b/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e5ba8b00e47fdf1c3daa3363e75927236429961d GIT binary patch literal 4753 zcmbtYc|4SB`k|j&Y*!LO6Aj3>{#=gr^42BuY3^RivDrHG1OV;d^HT!yO*%A>$ zDXByv6%NS~oqiAX)_dM_&ini0ozLf)dG7oBy{`LO@B98tjJc^k3ll#R4Gj$o%0R~w z_>J3p4$}hPLIo2z8XCF=ob?&<853i;8^IThb|<)Ez!YCU0H>i*KTYvNyLn^CAXkhh z4v!FCY3&pS;oK3zc1kAlCVtu&EY2W=h_MPWwRQ{fc2jj1K8<8jr@#RPz8EqZMDg{( zli(DD@V;I+@V++<5eDs3$leIyGbZLBZ2}PkQUWW1<%N+2!4pIaYh@KDyRaI4pJQM(IfF+=w_oGLC=; z?de3j5(3BwVPOCV{ZLNEdHm9jC;f0A2n1vgfhd6GA^%RtP;mc1-$VXF_rns%1QM3u z_tSwtE%6iniy#obzZapP{r-+@V)EbVzP^8QgGAO11Oo9RsDHBQUki||gZ(fNOALt+ zKy<_C24e7Jk^M;Q#RZP?MSEh5F?dfh79p$vlm8FI4(I+CU{94#z+NtF@Hk*`=r5Tw zzc7Tb3KXL73$p)PXfN1sa~uWZb4CZ}i@}ost-tK}h1&lUs!i}A5UqgH#sFgbtNqLc zd>=C*xC4;le?Ta0ZF3^Q1Lp%^BujlQ5K32DSwU4s~Ya!4>-hM(f#IH+1tqC$ScQ#pUfdXT(U*&3Nz+X5h$R^fRz0 z(a0WlQuak3E)0Kv=T7<5(wN}XOV|9DjSg0gH&Z9%5HKE2 zjyRzTZ7PXfdANcYP4KK(W?=*~u_Q*q?m4|=YUq3Db?z(p^K}svlq23njI|g>tDyL7xmqmRn8eC0$UHunQH3M)j0f_MIxR-7$T%%` zrJNhmeMd4m4oAK!tA18pe{8wm{3Tto*ps^9k=c(z>mAJBa6=JeiGp(PQ;Wt$TG_py z`)$6lHVOTF%(UKZO`3z&hEuB06?F*gvr7{xlcz#e7VY(G5M)pWQ4$-4N=qy)D>;v| z-D}~ecSWdhu+ldRE&6%|7sb+=#9xsGr7 z$$VkEJ!3skI9k_wZO2MM^lR4U3mlR4}+|0&J5w3?Ck7RU@&W2 zTd-rJaa9_Ol3rUqgV2%ipDC%&veJynnJc+xg^>3&It61t9J<=albxMCK0eODIx;x; zywP{6ee>1%Dc>g4sS{MxZo|npJVhsN(bgJ4Jqw2+GeOvpkS{F@IUg1m6Q6P8HQ4Ez zrrOVME)NY26|v>q(%P}iSUA6C2(=%DMyPvQGUygkv(vqh8ni3iV;o!DGIpf`Ru5S{%Tazj8Z^~+YEH%CnG^9FB6N5{I_q>Kk`o9y(- z%~{q7u+==T^~RkB%-`R zxf?C-KhpqJV;&yM9nsIEn(+zRI@HZ>& zzkjfo?*P%DHmzs!9tUrXPR@ldINdL!@k5UuAwLZ%CLW#&6khP+YQCyi05pT!xDYS& zjBES3m3Jl5sg+^K+@~KfOiJn1i2+#&M{0^bYH?M%Fn)ah{>%Ef87>(W<<@^)06C=G z19l4ks5Rz(RqQU#ZSn(Wyx!)@bk+DGHW@|Ve(u}G6ak`c#lx(GHaYGKjaX=W#=H5j zp|LTl2iG0iL{=Nve4O@)n_YUl431_ zZZTfIz9u`Q7V^;>{kdTq_IJ!1V^ioeijK&5O~mRQq7CopK$e{t({y$g9AEMc;DlD_ zs3xGKi9M1X4xc7Ha|eDWgSpp3zAofm1fTS*&3j;ya*!Hq(Pjt}J$WN2Fwjyg0SQ-A zd$Zb1Ing6#bj8?mz>AuYpD)yx3#pb@R8)ik#D2elvAh$@y<1;CRFyiIsTh|Yd#U>v z9xqB_ec0VwYE^9DAd%PF>Zty}mY&3_`vI23lp2G4#6g$e*_m4uK>H|LEzLkw=Q25j zOSTZ3t(Wwbm73rp&&yQ$?sJkOCsX9*t~^RsdsaaJKT5T)KuAPHL}iLvqGc>Te%mOm z_YLuyq(gC{yBs?U-|^!jxXifKRsU5`6muF4wO2DV=zTApXC!wz$D^CIa&}z&D81FC zDC2S(FIPO?RQ*B19MVYH`m2GS&DD|R2YHEHJS$>+e8%4I--k=h1Side>y1@xUD){O zlQeVdx^67*IcVPG12YjRVI=9{$cO|k^GI}$(8*rE8IHU}n7=NpsJ*WS+hA4!vCfuhp-c-EnciineJHnfX9Z&u~o zX@`Gg?%dZWi)8PomE3fnQ+?<_hr7czUrKZw3b~NlGlK_T{^N#Dp`oFnv@}=c3zE0A zv~>D%!lRP~G95q%R4$BlVp_y#+#e}fs_9A9kv z^hk|y+#q~yZEeD+}{K~8TU z!>O9j`p@gA(XBF&BO@b+hlk5DHAOjM=I7_dj8d;gGb!wrXT$hhQOS1xpR=$xO^ZKK z)XQxxe8*EX!ou47-=IUPmb^}jS0#yS%Ss8oeqDGqHb^|SZ)|ML(p;l9QN;cPtGe3A(k7x>V8?QCkx zN|#C8H*X~+rE^tji`?}5v#VRnFI&C6ywVGJ?lXqCC$9HM{x*$feEi{aKtOB~?|MA?<;!+3?ciHB(FHs+u}F zavDw=VR`j)B~0J*6H%FrGjAk#-FQ+nH$F~UIXcSp=t*m`dwF|rew^&7$C9(na&9hJ zF-D#3Oeq#}*`<};mfU7BsxU3CoAlXyLAuf9vNeB;@Gel>9fJv0&k;}yl(nxFjnU$8 zUheDM~nuDyUrdyY8Y;SMJ@<1A!nr_6!6>Z|}s-C8$rZzS-q@<-uY;sDT4>m(G zz11tEhKGkgb-oxzp`4P7Bt9G*bZ~GeD=SL^-}~~-Su*GVO04*hW_nHz^5P%6F`N?D zPpAs}X5wM|f|S?cO5PK|f$4B}qKNtJu7jZ|#GHEd^zK=$)eRltqw#t@Grup67cFXUWFKCM5+p)GF&IeLU*y4Fw9H!CrksfOi!a4_ZY%9RUF~ zaz<7efe?t%p$)$@vcOD#1vufDSCHw$9_3Fmb90>?9Dbv$&g#YnsL*SY^gK4{ph89q2~ZLu@A4Z>G_K;4vyrTb3Q?wQW0I#Hu)5yBKw3kS$1MHiVsR z#SJ28YVa)jMsC90OC6HZ?@&+qK6bx??|OD737VN6KGh;fm?-OKfBYo5GI>Gg6N8_! ze5$4?+bXY~+3aiaU|Yc?t(2r=)oE_y(UKLZZ|j~f`2B7X$1m=R;6ePXjii0Nu!_%Z<0ng; zv|2sQV+_+MCuF2dJ9(#3>b1$3*@K~QH@=U+9hBFWVMz7qwVK|-^lT0H6P#(QU&TUI x4Axn5)cwGVPs1~plVSMF|I3~Czg(h!ckb*Po@j%{HtzkCgwi$Dsnl}0{C_%~9CrW! literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@3x 1.png b/piwigo/Resources/Images.xcassets/AppIconShare.imageset/Icon-Light-70px@3x 1.png new file mode 100644 index 0000000000000000000000000000000000000000..4599b3de890019aeafc4729625fae7a048fb805c GIT binary patch literal 7751 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 Date: Sat, 31 Aug 2024 19:05:41 +0200 Subject: [PATCH 49/55] Create iOS 18 and iPadOS 18 App Icon.fig --- .../App Icon/iOS 18 and iPadOS 18 App Icon.fig | Bin 0 -> 519357 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assets/App Icon/iOS 18 and iPadOS 18 App Icon.fig diff --git a/Assets/App Icon/iOS 18 and iPadOS 18 App Icon.fig b/Assets/App Icon/iOS 18 and iPadOS 18 App Icon.fig new file mode 100644 index 0000000000000000000000000000000000000000..c3c45dfa7054e4d7eda409812265f0934c58ff52 GIT binary patch literal 519357 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�{KWzLAnO&!o_`r1`-)LJNUkI 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

3LPQ6giSE<- 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°-4*{a3o zz0tMq!XwYu=y~mtjZLl?^n0B;?_O2to35{&z4qrR)9cs#{P{!8_U)M6@wMmHpWoc= z-#<_9a&q{@tLnFI{qBDzR-T`+_1K&lqs|>U`OKRI&ObAz_yY@?{jspq%S8+ApYY0^ z0~$$&w!zq#>;wax$a-L~qS3rIpekJ^T(d6?m7C!)d#n>{CIf%))z`#SLCxJ zxi)s)w%qr5xeDc5E*o9Bdw)WJGg>SAoz3`;%v+D&C?>w3(diKNfQ@y*Z zKlItWvTJ77>-?DSm~ULCCN*x{>NzoH)z+0qzPYpA>m~2n`O3P}!&~ofedp2jwc8xq zx1-AE8#~{zDG_Lwd&b9gUaec?xen1HpRBF1?z_VWe~lbCviF(xgVTzXA2=(#Y(t@! z&UWi?^S`U*?|rnz3-d;wezoD}zM(C>`&U%h_5NdP=FWZYfwS{pd*sMu`GbVT2p6kHr_5~)Lo$r}2r~dj% zBZ}0kR)75W#~+(g{j-6;p6s^g^zqhT+`jY7fd^0ToEK@c_dwRN+V}d8TwUvv)g5;C zy7ENlQbW`CmMMLkKV#aHKUON=;;q+Txp33jJG1V4~^Gy9WZt0x^)_NC%9X1m*DR1F2Nmwd*i{~T>`-g?lkW1-UN4dJA7xn z-)}fK=Vo8-u}AGyRkPNdPi;^6iLXB=HzqJM|2d`l?iapUW`yjS-%i-1<2^tI4mB6- zM&-*NQ0&Kyj{dT6>hGw8N3#@ZCju*G6TozNj6u>w)R^hcaN%+Wp9ZvawDh#4Wh5`6 zEb{e_GPUtqkFr?M?<__Z;u?<0#0I~hx+oAXE!80e{xwPl9ca1AkJ_n=^&;YELys(t z`8|$K1HWgV?%KXO3`=1<=cK<~90wG4BcFkLIp5YlR)vSA_HCdlb;c^|b~e$VfwYKIbWHZI8Ds)h@|>beqge#chuyZ_I@xa^~yB%uB}(D>IPW~jfgr&R9hM%PSWAPG@E`1rCSt*UcS0O*n<~gf1{yNtg4!ZhY`xR*DpB7 z$-&Woj*Xh=9_?ZZVSwLlIte}Sg~G%@S?svP?|r4uOORTL*l*u-RNr_37rgTu9bq9f z;Vl(*z*TN~zsH{$Zguf-CjpjiGX-4>(TBx=wMPAS4T zTBF!C+q_A}8To16r%VEjuqzxWZjmJZfRj?u@#n0$TrY@bYkhqE?2?0krC#xOclD^G zt6jH+85St`i>b@)O>TA-? z3e*UZ-#iC}MJoC}vSv_-KFc;qEHmHZoUx~c#v^$AT$6lZ9hMqbI9U%u4Y$Kzh==>L z=l{h@nHvT(&n75c8Zs<)EqZ~jJQ+$JxoAfU3%ZkCD+=vg2NrizJE$EC+UZ&{43AIY zdheh%u;R)M!>P<>{%=S&Mi_seP(|GL(xME)0U%5Sh~3Y;A0|QV_RiVmC zQWR{adYZC;q^bgw6hdH?6y8s-dPZirTNGud#kbDU{k0JWs7?L-zO8VcG6Fkx;|e}3 zfEw$L|CNbWYL)OutcK{EI(VIniF3GIx1q@ib(iI}G0S8Xh6KUh6jT#x+t%i!Sy6ZQ z!c$YmrtvUDP2#`xhqN8-Pa0D6;i+WBYG6_h2bej{D~D4<(eTRQtC}<~;oeRO?LaNR zvp<&Z!qda{DUETbPzhCqE5y6EKWoW2RZQ&K)0JBKT+2EWDW{620Yob_QY-YcVm(Kp znQ#>r9_C;PDXU=1r8jt^NV~hQ>Ct|#gmTnslN8~W`Hhx-DSV<`Eysem4=jd=69FNr4#%<^W?yT5Q&Hb(*;HIXrmmneBW=J;uLEE;u>ZRU5HpLV9F6_ zZmg<2ZR1pOrU_Ch(aA;tUZFxS?v;=U>g%~>dRH*n7%fJ+UVbqCDDK>h7b~N{@a3zj zsmZE$50H8UL$Wbxx{3N?WpT48W+U+pDX-d;$L=wP2=4lKAX9cS7M`fjPoUKME!h%_ zqx1FPV*(V54*H`(=~c5bRL2usA0#`Gy1(CF6szN2HM!XS)?JfLkf8;P3Es6LCq=W%_Nbv|G~D~^k1&A@q^M^4^iGxf@#QKp7zFWW zB?Ijz1&@1`7dwZDEm%7yjk8i?{L6hmLHrm@{SO@?Rom zZRxqNO|Kj5P6hfUypB&4sW@Tyon7!(x#J?N>PRMUf4m~XIwcooBmd2B9!nQ$z`K&N z(BnEoDuDC6=)qWj1u+?HKHgawR9GC&F`|2HC~GbF=H%W|5c6N&I;6xiPFnfF*%r54 z_1H4f-$g{yiGX%_TU@#dVH~b9=^Z5<(&5%uWF&)aeou)+>gG12nrwD~b;%d5+EMyf$aQ*){LI9|Yp)Zy-lz4UePp7VgrZHvZSm3?V&vs?+Juvwt)iFnHmmLukPR{uLennyrIcBFQ zoGx@XyEzdz-6;kT^zbV}$@8PdRx#Jri&GiJ_XJg%hM9XYhB1q zOlI`n*0i9no13c*aZ9V$L%9BH#~)D0v}D)RdNu-^dD{Ih4xQ)j8O3tb5-CLta!ldm zu^uwFKJJQh>;zww^93So%S6OT?QRL5rLdcN&3^BYTHNEyu#_1piFzCS^V0Vf&zqgT z@}rC;|FT;A5vGneJIwz6&zsPFD`n=on4zoeF^wQ#z}DF1 zxo-Cm2*X!G^tVc3h?KYVpRXkZA=G`voJi~*H~#RpXey-~;6UQQq@DdOY&D<8nB8D> zC>492-pfn{KUFf`LaHeo}bnPv!k2q*i1ugHDDx+|{+#vxsb+_zi zl*yQ;RP)tL1rBu~*TiGRkH8H)1QbH^Z&!(^Xf~}evmER!AMr4+8{~5#w&@&4L^KeF zEi=J5U2`&1EM=LmLAnd({2m76iL$H&YphScnt-m1KFl)1e8GUM1rO8Sm_YR6hmPEc zvlsqsZ2ga3p%J0;HV(Wu-q7Zgb-(H0H5#-6XQG)Xn^jT-=1l{>LfQ(9%Mi%a7yz~w zGb2K?p$?{f*3iEpp}MP0EprO+Q~*y9bE$bb6VE2O7_8#dX5zTjJ7n8R zV!b*BO5D~KZVqoUg%ve{g^w6kx8k`$9v9P@~qG3&%BW) z+_ehtXFeZs$*1nUT>8)~qX54HqvsK$2xTYE9WDo&ALO?5Vf6`~viUPJMb=zJvwd}wGcnyB$MV{= z82)?Bj}*e)7gw24Q}jTREzH%az^!w*c5K`!DRr8bxV=k}Lm z_NM#-R262eQT_=($9pe`v@%?1VyJDyn~uK`(}KvX%;_K}ANvD1|A z0JHQs7!f%ieS%7Vw$M&At1x3|ihZmJ_Y~JjMGgnX2h7n5rvPQ%K+vCw=GbvFKb9Xb-U;LmR2zfaOspAwQ--Br4#HM0X%?t zy#zd9WS?PjYbr|%4{F!an{a;`0EOT1r`O8}{gAwvoiV3DY4UTIHN_c3a-wL|J#^y< zNJ71MKNkTE&_P-K)C3sO%RuB@QN=7z0~>+tCqC{Ff{9}+_jiO$m^mrnaMy?)WJ`$_ z(Cvyl%Urmgkw7^KeLXshDNnlxVKv`cxrqLodRyj?Sz>5;2|;&1I$qxNs$hllN`8sB zZ%thyY(*BbR`ggOjJZJDk{0K&J;CFTMhAS5sq&Ym^a(h*#_-`yl60-p}RX=WC{)bs{8ox~Xm6ok)M+pFW3N_)PK zPg}}=_G9@U=?@_HYfsdb1|cEIF-a4CSdbZ4pPMRxiUi4HsFd|=ROANd4!&nYHf81C z)kunh^iWt|l@>Z0!?A_FAJ5>C>A{_Y1 z|3n}Cs!%Up4SzIIMYHD>TMM~J5WZ{gXmA?aV!&28xitEX@2cW%5ec`y+6 zwleI5Syn>dj+B}X5MXWdm%pSBwglWJ7i5V#I&!n!=F?OpzGYWNKtmL?YOUh=(pmzj zhT+@vxyRmFd}$K9l8VbrYL%Gd>3B4olO6y$`*o{guvmlY-5{EtVIbhsC*PQyc{Ihg zPE_T3{YpbN-O|DyD>slFYwp)L8Dv>9%Bk~?>f%?}qp&N%Yell$^~KM+3yLWJ;Nf zrokIlY9cbyLEGmv#soe3n+u^gy_Y6w=KKoCJjyvpWq`FGZ@uunY^yDIEPZ}k@mtYT zpx-fs1{}s{EC#vGTUu1hZvE$maID;X00l+zm#HzV_t3?5)ZtOit-zlB=@!3p48)MIUqzJ5w4z zU-o@0h`TWV_}dW)n(?z}Pl7xjHzjRy z4@Y1Br#E2A*q8mbKbc@O=Z<+h;es81KcL5g1d?h@WvP^Tf=iF3+2D_&z|NXDYgIEi zPN3e&XpGvn=fvmnOhjaZb*rQ;!(nPDBP)}Nr0WZ%-kSlIwL=qwx3`WMYTfmsHq5qm zDDiNbl4e5Yf)1s}{|O)&RbG=BC;+UY+n;vKbM$$HeCNIMwHvxvlmI4nd0y;bEatFWgkb>8>#)fPn7aaHWq~`Gt4% zy|4(uiiB^04f~b8CB$9`o-J`qhx>!(P15$|@8?QU3qbmMqrlaCbA2TCA_uOTB=Q~M z5&_3L>iD6!T8zt1l3kNEz|KFIdgo#Rqj~19X}N}6H}x})qcnaCYIu{G{J`)UnI>^D zW?jAL1Hpx01y7N|vlkhQ2HUSO4)&%qO)?z#OEEzw%lIL^y0Z8H%jMmiuy%ZCgGki$ zF7YFVivV|2F2|){gBC$GG6P;p<6SS#nR1=%Ed=2-VFrVYaHTHZXg@69J>ZI$b@v!eCi>_Z6W%s*h|3Q{Y9}uB zR-O-JYji4cIvc|{7nBg4@}?faELeXJ4?>dNHAH~F=?#gc;;gRDQE*5gFOVn?X`?aT z`6>*`1|vy9mYgS2zsy3AENT}%(KinGem8zO+`pU({X#nTezo^lXw>k7rh~yV3ayu1G(jQ zD=XfeD$4b3w3@qW_en3*t+gIXUW%ZvsnK}GkRh6?O>==q zO+_;SJhoXj$=79U#~Q*=&jK#krwEBFHmQUa}9K;%18v5*VbT@RY{V23q8WTrb0LIa&yUz&2+`K# zvROal4FCHdd?sRJZ27eZALoxOsfI6fhEYzWTgLWEGCvD!*R-=YIf?DFi1X@e{2`j` za2t$zsf-~{pyhsE-Q7|wcSY@I+Xt-`y%BO*muBlDr^QG^KKXwzD(z7kUjr@{U_dNB zcw;H3y{Z#^E?5EAZfm?l#Q?TMdShb2>$IS|!Prf%y0qp5XTuxeAbtN|+rNLiV&|P9 z-b>;Kpxl4oxJ-c1Uo@2D)0_V(p~Qv=SX;%ch8b@@GG@Bm;3cte^x#>=D(;S$0a4Mk zJK133Ih*9JRevK4vIQ|^FI_D!zo&B4U@itedjrs{`>OJ++B) zl~aIZr-qe-rhQPOmK@HxAk8B=b<$@F_$#TvS{FL^TOdCG2a8?*3F65TvR*^Q$FP+Z z9@!=}pfc}`0alJH-aI(#kT)YYKo_E#5X0)9ZeuGhrr_B1LGV3=0}TPq2Tz)7aMx0$ zKUOt=DKBqhBzWBv@2l#k1#BOc3@m#N4i`v&cA@sq@#C;cZWGXE6jU6PI9Tk*dsBS*m6@`f1#yxH+6cw0vOh)g5}SpuYv{JqLuCj6l*9$;Yz+-yjT z402{G(N?*x8ur;#$)(qY-SDC8mi&(#dpL{*F;fHetnpc_{gPQsXWU6FDm8^Ei=6{m zr*&UwzuVlbV&vkf_+y?XOBnjrFOyZ^0r|ou3zXy(l&e>Yz^t6O(R2EDc_YwQgNHox z@(ddg96nXBj^p2E+fC=P=f7FaL7mYUBSvIkzAt2z7x~9rxAPmOCkA&f9wtmTb>+;_ z5HBsqlH=`oUj9OL^v{an)I*j(eRH0Cs3bQd?D@BN5pTHQ^!CfFB~B$iLKb9%FKAqm zO(4kAfVzCh4Xx^TZvdlNGj-s5FlbcOqvNh)Vpp>60AG4n7CR<6FRB}})8WHR0j*^S zv58}qSj2h5AqB#d0L298s?l5*2wmK!iFh2PK6qIH68;2WXAH1{%iY-~t-tCEPbcet zdWnNvVU0)Q#X=9k`@ zLc^!Wk_s6eh&XCzAleY3=iNTtD6%qfnY?|h!h3VvGBUHK6$#yY<%4n| zVGDZw8mGJGi6pZG^uo0^l|{8KnepA!7f8@cpmEy7+hQ#xgPbUrnv9a~6J~gN7uv*Wp)dBrl+l(1BUXUvvVu_hZc6a(B)2wcBu;1hkk{Gro44obQL3yBMgvmr&+yAV^Mbz0 z2-O65{0OOSm!rjykEVgnW@F_dn1VAZ7~Z*wzZNG<6EaUV%?Gz#Q8g|H-P!GLkQ)vQ0yA^^RRNE9~5AZokn?6Q3AX4fl-h|%;xP-%>) za3muI2%kz|I04u&GmB4;jQd+a{57t}V3dUC=Ry*mZZRiKGE!{YPU0~S_1KNr51|sW7?mWADxI zHx*dO4U@xddU<1d${m8ZS$GW6p5NaD1a!%gZ7Fo~T(xE)l~L=Q@{dBJF*YPP6wSHh zswW$YjNFLtx$LtD!~RHDAR^gdxN!~85vW#Ah@$|U%(ioouj8&MAU_#xMB)qxenkUa$2R{I%;#GD7e zik1mu0y76hhTxLi@~0dD8}hN<*!JKdFJ}Z}?a(7vE<^#3RXx6jKH&67?QIY%hbEqDj6`A&HTwCCR2;#yAi?@^A zu?fg3F)ou`>*)y-QYAsIw}-3kO@WElRyT%u%FjY?FX}@?rpICGY}eO*xF3forz?7d z@j=OvXUkjwC4u!~@_a#Rb9EaCuEEePlZv5up1F5DTio|$TLlSgePP9Y%eG$y{8P<( zxFvS3qs~b2GIxFK276t117&{Q_Lk`lk*IKWnTyo|I)l?J%sg<-A0nK_!krCd+GvXp zC)mFC%>wX2n)Epjets?O^S^Yu{181@J2<8sW~Vpvc@kxCBmyVVrLLiz~7E51ZCDci*H5)9$`nkDtfM_ zy=~0HwV@pKe3;yg59)4s;x;uQ+sw;7L5=)pV3jOzQ7>g%RZRIb9t z%#JIGqA)mIfa38dwTSF1#D0TOkozMTOntbuZ?XutD9G4)Y`%w?RWx%zaP32Gl}K_@HdIpB zmO|L2y2)mvlOS^zw&-L=4|4vF_j2FLIO`d26hWzHC*>3o9cyD##h_G=0$}{0>>v8F z@Pm?J^SCcNMlp*m>{C+}Dbd?2`m(e`2~{=Nx7>yb9p74I&vEiAT3)Z-qoV>;lzqF?pHBS(IT|t`Au|*`tE~gXmnKhHp^$Kn9BMK5v1!Lzg^4vVBhO%#m>8nzH)P< zE5RuRdx`--vL!QBhqkmtAT@T7@^SXjQbzV%XI{q+YVx0BEtDf){}%ne8f z-W0;ry7LL2*K(dUyCn=6xDX@Emd2uJIbbL8z0lC@Bx&9Ac(wS~5`9XYt0`;l6Xn`J zqkV4I`!5WU?wdZ#PY{V@o&PBASNyr@aY&TvOB?5%NT!SM9oqllqSu;u?=QxBBUzhe z?x_1*whCx>2L6O|F`5qG_fbX|4DrILRe6l@aO~Oi^JQ|XU#Dj(i;-i3yRi7Jd{S8W zVMq&~&SvryTx+*u$}NIPI>ltE?Z50@#?IW}c*0OXlE%bFh{hfT^f`DIP8ds-azr(V zdN{{p>UaKHx1{+ky`9EMbmk$CPoS;>?uai*lkU+zyp?@dqdvjjTwl9~7C#OefNH~J zD*u2m3ygyW@cl02M}e}_o_bWs^hP@JU2_ZZB}Z9PS5s5bL<3B%o%Ye+pCGv9@;+d3 zS0kxR(cE-CnzZHsIm33~wH3s^PiUKIp2(2@t|BC;A+Di2Tgj;gPd>QDERsT)_I>%x zU(B#l(#O^)jSZc4$7H3QqCX-Pg;Rqo&l8|8cCp#kpLD5XFGW<|-M^Um`&;_rt0s+q za-KrF#)A+$OnN6kL2ohS>~*#d_EDbi;~mq*8bYnoJ?=Xe#6?Hz&$x^7y?@*_73_|`hD|N; z*^cMf%C&TBJ!+wU^$OGrxFM69pgluvz9I>2s}D!)q<{RT>IAV^LxF?=ea05Q zpR5hCxDl!IW{1l#HS7)K&(8PvzXkd4slp^p3rg?6bylKB9*DLNAe88P2% zkNuv6XQE34cI)jA93W1(bohQ*`UsOMlG~Xb0{7I&)h5IiI|nU1X3!Y7WqFLZdz1Tb zhL6@-H3_(y-O*cX2U(!=f6NI)hx$I@th$XBbC`cR` zPX<`v^^NwuSF}|5S+1VDn90Fgawo`A1#{wo_yX2myVjXf{pEi_7~+9N-PZP9PgKHQ z4q#T`z8tOz_ogfU9G2Td>;&}>AZQZLI%3zM6DW+y^sP%r+PM(^6iiM5mR4(Be%~P9 zy=4Jsb1~^-OJ1Wz1`!MOMIrfI2M`5Zo2sH|s+vX04Eqx>XMckrzB4hVleJM(M%Jb= zKG8AECx?Gr`)#PqMV~7aGvGN#I`K+)`sC9bL{p;bZ~Km{#&ZKD@3?+1f__iZXe3?Z z_nk?%cZXtUy11#H<=x&Ke)B1Gif2GCx*=jm9CVwO);%_~-Z*fKPMP~HMpG>YCl@~) z@p*u(Bssr~(Wle%Y>jXtxze)eA7srRepLv=?o#U6#Htpe;mhrk15`e%c-^A5#;5_t zv|`eT_O5Aok5RI>)q{-mW^y4?v=Psbs_>H{2VGAQ`)wxtB%pl@dkM4&G#S|FeY`j8 zos^-7%Y_ssSC^tCS}ZhHhe*mKwy_))+zh_B+*Ru6VNcHx*He6zDe?F4y||oc z+YWLhGtS!8a1nu>0mfl{;a0k_!Sgwdd!GS+Wvf2@!MSo%;~>y`x#~-D5BnWf{vvT- z4*&A6Hz9obY>YeKpdc9a2u>nDr-%arr8a`aczFcdGN|NB`I1GZRI{gOSrWr`8T!nh z^LTfc6?f>G_hXU3;D7~OZazRj=WsCd!A&!nGyP*86!YI145nkE(D$>V_~ND3i(f(3 zafcApowUn1?)Dt}TKD*Sbx zCntjqIk#>y?K5fhh{Om0wk@pse(o5PX9vDD=VFc|J*)PfOSC5+39h|lfU>J6&t~U=E(%6t zL8l=SqhoXUT^D}F4xTrZY1u9Z9{@ehnR=rfPX{Iqdbo}4^@es@hq8$16I9NB(pSOQ zeFja%#J>Cy(H4PNO(ldd)GvTGyMpM$N4GhxYsmk0LcI|vY=@coD-DikSuBl(znw)I z#Y|5}y?a}XI;nodsEx;+gge>anvZDh zct%;WULAhqFGdGKUje`I1OWO3Wn~=55Bk{sQriD9m3t;w(oB&f4bkMPHT8}i4eVaz zG|p|XCeJeng!1JH-`?$%`DD5otmP0H=7^$ibFfX%LnxMAkF2ISep zn3Rd9PdSafgyw_4bu-V5ip1Z3Yqa@`;VZ~^^L2|yHzD$jq3r6x7)oAa+6zo0G!`1} z4zkHvEaF=;GGMoi7QzWRNnD)1t<8l`p6Vl z#9EK{!_>_6;`12K_%A;5U)a=`6Hi~ThV6B&w|&=2K+)X#W5U4c6HQiu2I4`CQtL`R z1j3(WD7!}>F1z6SYAMH8crnCB2$`5;paO(;%Izfd|47(;>9>WrwhNe^sm+J znOY0B4F>G&_rIX*%54=5TSfu}zs6-w*yPm13w%cZh!2M>y#7Y0%C2(Zo7{0Pd))pT zy!~l1&3fEC(*=g|jlO_fRG9wCn0}N|YbT<;3;7;-1Gu?vBj+^k-OV5o(00(rw8|># zP+GS3J^3xY9H4HA6=i`X4Z8K?#P_bQhF_^~7;$Su6uMI3Ro^TVR1V*! z;Usju&PnC@nP*`fC^9F8$)!h5U*k$DePggG-Jf~f`m-B9Gj8;n8C7GkkB>xREXmbi zn`C(!V(zbDTlC~{_j;i-WIW`6c8T+;TIx4v<)`PxXTc-^)^VAdY)(a(P(DRj#|BsW z+(hzIT1G0cI4Bwu}Wb<0gkxObWOI zq|0GWg+cS7E>m#lkX(ZsJ0|IugMtjY4t9ds`tXZW3<-iTScDeEx%#YiTui*(KZynY zrKx=OH@=Y6qPTuTUOptu8S)Dt>Wl1Kl-SMRf>HEDDOkP2s6HVra={zCp4vbnsZog^ zYi))YS!53KL?6#6B)cUNj$nAhPlOh8`XYY&|N^g>)x1 z?t_|ev^liJt^%k%5!};yI)uS`Nd$`K$!ED&AFfLewwTNuLn9h7{ws2xFi6D&%o)*^ zzC;P3!Qb@A>r%m7tWMPTwMpz`iu`?abx)849h)xX_L3PtYg$wXJy`6T&cNu_F8*qq+k7z0Vf-sY~2@$C9*efMSQn7rd}Kk; zbLh>}>NgXCMikL1_~H_;v+t0mr6btqGWGXbWM-m*c4tIZ~M` z08ZU}>2|PuG))WYdv+EQlZ5hLnjUNnAfN_7W)0)c_aiMLXc&3D6K4bQn9kAo(Zkhp zS_eQ%Sy->F2CPMyebfFUj&micA!Jqhhbzhmc+fhz@0wv3eE8oQ;fF0D@w( z@oiHP(0nX~7m{oBLk*+gq>{BnoNq6VyUR|cB9q&=^h-=K5cx;O-}PWeoK(_M&^nSe zzojDSXcwoAF~f7?g8bP3L{Z97Td*)2{D|!~PX?x<5dS*)!GCL8K8mgo2!uixP2zPx zI{z9MXka>)Vw32*-Tj^txAk@3G@$LP_TGh1cbKRA?bONdR%giz8{AoLbZ6Ef_ddn5 zXXlc0$bH5y&&tTCVvzfPOF<0e|8!jHYd=Uyk}WrYWu5sUHr$Lf0|N8 z^o0Z78au0A-=MF(9*@f$qP;FdcCZ+4t^{bI79CZ62x&v}C8k`?N>5F6W2YlRZVGnx zjzaiZ6NKul8x+#Ow)>~_r#q4PvQxT=$5*wH^jLxv&w|XGkpL-xjvHoR$!C|Mii)B& z=x>}^F5!j8$XQDQ)27pMw({{XHP@MtK-#tw(?^~4TmeVATR90|ftIT$@x2b)AR-OB{VLESu;`cira+i$re)a%%D#2N4732)YLH}uo)F>jU8%YpzB2i#) zgPW~hdP>V7w!MA(Kq1x1CmnBuH1p7kG)m_JHE3fD4<`u8yZKO|CJ@{_XE8dO2I z|L@I#ba9_hB%M%yVeo(4r7|8m8k9bslthEff0$%B|0j7_@ro9O@*mv!|3Bvc!N`ER zBY_{wpBxwgJFLXV=ZzHbTFpu2r^cOK+C7W%)mvW%@0<(#Ra4G>4#!rlSAdJCx`3_1 z->%pLk81Jqt^!KCXAYXP&n0gf%J~9B19h|^*13OcOT_|^tkjGKmqkzW4ZT61hXDKlEEGp|twH8bRK*aJTR(D1MV)h%reY?ZtnM+k?_R zZgr(55LCW==R>&?+VXPM##&u?yZE7_jHG|3nSc@}3Cba8zXUzaV0Y13&8aE>Ao|vf z)Gz+#aaH3KFA?~G5B1Iom2C*OejSb)S>7mZTy7&4rKvaW;gK>^ABmtM0t!5_?m>ZO zp4x{?UrU4jb)DZ|IYA}@f&tj>%1!+x2jAL-{dL@ZUSeEW>P#Wnk)nLH4JonuBb;A| z_PB(0IbVg8=cs<`F9(bPwl5{HRO>CM2SNk*&{%3dAC+74gqPeUibSjZ)~J0&eTAVg zl{O$k0Qb-BKtwu2NX02lR|qbi^a7u;Z_(Y-XigIFZYq=Auz>-{fViv*W6M}-mZN~b z4)79&YHgBZARjS(QWsYZ9|*W~0OsVYV^+RPRABJ;$?~%r0^js{iLJ_`nrxpsL;?Ko zj??(X(!X9%+xa*#T?>p}G&sSMY{V_3CB12hdBE0!lg(L1xR&08uh8!VXpdTGmz(_H zNg=O7i?=#NvKy z^VB`(Mc{^2w!XKuAdDF{1ThI32{L7hN^a&JOTUzyIa9bJqe+qhoExSFqoimff_jsn z-f`bUMb*t-n4kla17>b$f5jIaXe2>s>F5;o)6th*Y)CH&BpK)5X;P*s8B_C~VY^W9 zKfjl___N0A^`qe+tH&W4Dt`e~2!f}f zR~gA#Gm*4B`*b(Su(ojE)OjF25Fp-vQ1p4|VGGS*B>1uPLnDl?CfH|AC@Lmh8rOg; zuEH6So+WkkeN=EyIJp^QGf| zKO?)J?@q#{C@?jEw`@+HDYQ6Btm}sz-z+iSM1fw5Wl?TD?gRGY=9?PeSvDlkG&Q+= z$2{;($hEu=;usHyX@iR=UNJb zyl#x?x~6D3pO)#auJ2nO4y*s01<-2#&F=emII7Xd4}bAP`}=2~|JHuHmr6jN&iQ64 z{HA01XS^*XFnlUXQXY%Nu_)*w&FAmSuT~2iYFVDfM#KX*H(0xG>Ja|*(+s(+6R@ZG z0JZ+x@os@f+aer3lov4j{r6}xE?v>AXQtZ=w9w6}ja29Cu3{)eE>G|k+bPemR1G_2 zzw93)vA#mx$`Dwls;?~lu24Q>b@TPzuuQdo z7Z8D_fuQanpkq!I*f^KA5;@?aISa4Ejt!?s4&pO}uNpCTlyS@5=g3znYAYImlS*Xv z_%m21cCQ_&+?}f{Eqaktp6pNsI98HK%DT3|q|loqpzrypL~?%s6Y*M*pY+Ujen>_^ zCvSpYjq0iOwXYvq@KjBqet!^XTi9(2nKjZu>O{o+Gk}ioocr;Pw2!3@1exms{EKuuftm zI55r5FuqeNVQKyk#uq9jqS&XnnD7sB?X92PN89gm9(11XIB_run|t)$Z5nnoAA8Vq z?PD>&%2zhsB(c1?lCBOUNj5XjLgUDh7M^2B#i|&sWiW{Ogz&8+EXHy(_j}3>1YNA~ zSf0YPed|EMIwufumU!BW)lAz3H${vD@Q8pDA}4aNn-7+JwqXc^n_)TuA2z3d8+*PR zB+j4_T6nQ%)db1AVaSo(;h&_Vm&Sl_1hSa>H@*tJu=khl$jhfn2tU(ai8Z{?BNEO( zN4=eC)CD5C>4+7TnDV|#q{fR8WzF3~dT^i||>oV+|NlKoC)&=YTx|@Qd3ly?{ zH)8^fW)ufYPb%L<`2cel@H3zg08{aRZ2%|yGP8;>)M+Z^tKV>-v7PUF_uuHOUL<_P zAz1m{mqP}UYuV`gWJOSj&JqmUxxj+?jCvEXiKkr&j#;EfZ;$mRr$Wl*BO3P)o{x4( zP)P713ORW4&U}2!fk>{DSJK^iTa;i#f^91Yet89|Qz&aYkc7Y7Ygw_2T1VTqyQP8v zC+7!(mk{8DUtB=2DkU0P56dkV_a=$Pn2we9tLJ6575}Au#4+_{_hGGvt%lZM5{~2x zH>@~_-s6eG_3nZBWN+{Q5t5?sYHoyf+oNBH!B8PU~MW_O6(YfG}OOtIDPQrC*+hj|)NNtf&CX7g2K(maWr z6q^F9|1-F`9fmzfOiy79GM*PmcoA)vE#|2~Vo&?B4mot&5nYoORx}VL`HXCMbI;W& zU&Kc+P+}JVp5vnu$mD_G1!~FJ{~bOz*7K1 zWI^GTsu`c)>Bx0%UMC=v**byfc=!)GEa9;Ea=b(45^{u>n8#-+Pd|$n`y9j>nmKvS z9_+?Z&bj@}4zb5W;)|(Y&Ss!?xxEumDDW71AU+-A`dznAkPN~qdDc+d35@0^-QvL< zb&DJJo*n*E%LsM<`{qfNqy)wa6bL2X?{=Y%>TaRUEpLW$F}MC(SJ0ieVR&G2gij4_uv1=gU@ON0dOv zxK@xROF)v>LO6nlpI=E}I4Wt2Oik0g!#oa5NHp#4j!yWdA~G~mU}zQ;IDTE#}>v{VL$9P zER#zY)(SJ z({{@I>HNMNn&})!L z8(nlqaaR;28{}S||8*icGTsyj(^!gG-P@7wIDGPtVWTww7s>(5%ke6NO@q-g-7gqL zRQw#EP-@x|PU8hY*ujA}C)>dtJR4t4Wg;(_W!!p&;8w<1Os*+f&jpq_~_VM9oZRoJZ1`bP$ z0mi$B4mmF;`y0`GDr&&w&}}I6v(Ku~gF$Y{x&0`v8?H@IL^mQ79bBNS0;qx=H&Hc&&D9fMQxe;g>8rV-wMMV%qYvT_x%201ok%2sWq=< zW13WyOo!mX-#Lw4uxKoh)#vBEEB25I!AeuNL8@}sQwn|?hc&kQ36pnUkkeW9x0Yhq z?F7Lz{@2EwTFesHU4C8-I|;=knopM_NUrha7#rzyCzXcKd@KB| zTN(J-k?``;p5h0R@7xGP_}T~Kx7~i}{7PGYkHmZ|q_`#XN-!@`GvPA>{xC8dpkq$I z|KAui6F>s>X6oZJf0#B{Ckb*qgepO%;^i**X2p2zWKkB z;7A?WGcQgU2-WdYi|WzwJ4^ZYPN+kRu$s8=1=tcB z|9iV6B12lp=HE<_0>_|{!yT0rZ(RS&r$C7j{!I<`&}4t@l4}%ta`v2^R+UpzihRi|AOh*8xZ0NQ#V<)Lkw%l3db*-tw<_KizdTgkz=mAMQ-a8D< zTT0`o#CPC(Bj0k`Wh65?wZr9R;|;gs`pcM>QtBPXCKSJ zMz0l;E_6EcKFA&T&@#NB80G9~Sj){RjTm-QdSLaD zUCZn{P@t_~^D6tpktA8!q zJ6`8PL1+V=N?8MDlEW}M>BH%eJz}d(T{7J9;rge#yPTkhWCY7#FBa^ch-~!hC;e*q zjzSGjx_a7}ZJ1(@>`-OQ3UrIP+ulp-K2U!GpY)ZzvD4e>UJADJj5wcnl)}JR28SW% z%-p!@O{bQIAYzj`x_O{%C{l4`_z$1=Aw6^o5@4@S%(y+fTp{7us|#7=(qrVhcL{zK z^hbMNP;YM2FKJ9kD8KpfmpQBuG(DtaGqp5-eWT{G;?NWmp-m9@eV-plIYuG4? z$_TV{Kn9plK-1ndYr6XBOLb1lbj~O&%RCB(1(cU`ak0 z_2L}~2i%nf)NKK%%CRSXA7`^xRatc(AGhxt zAKFx|?BAQ3Peh8o2)UIw;@n?e}%XL*kk@6U!z zNSbaHE<-Y**`0V4Z3YD*4ETU}>KQ8)I1!3n0^daWI0;Hd59(P!HyEfe>a}M5^K{^^ zK(46M*G_64Fds;khhukbis}e{f%9Mw6637o#PvOXYw)688oaVt5K!d;Ef?sXiCxZa zCo$>ML8;pzdeJ+h`aJsfUK3LsT6WH_i^PT^Iqf4}9pmFV?vDd|IDfb!0#&5v3b~vAsEv3Hj<&w1d4p^d?EkWRZd->X zaC>&#kafNEz~SwRyL;ab-UeO{9~ZjII0;EvxRi6kTrvst_AoE`{K_B2G1ZAmNC#z%p?!tCpwFDryHp38)%4 zXtXfX|4ZQFTNi>fs-(UT)*+Q?b8$JUs`v9=8m_M27RrpZAAi)K?S29gkXXLkq{d}6 zHDc99b1my#&2S*<+zJBi@mU7K!6>RKF-iMo_WswzjMfpD&`a}b*cGhP6{yF8z~&2_ zA(D6; z<}aph=V13=NKloGUg3h+m(^b^4NSp>Nnl|~{ z5vx795Lr*2l3@I$o&T7R>$#09t1iqVo%EUsiCYdnm%R9c064J6#9Gsh!)0~IH+p$X z&lKA9MY#dV(s}{5pOuZDlbk`wSeQ=i*fPC)yCRF_rEZ2n)Ko0{ik{K0ToJBTON{dq zsJ&t9(qm)q$%d$(D1=$NfnIxZ>2R2hVY|>ZIb2JK5stlD=dKP}L{LXxiByG#PZBD#n_}0dBVm=c3+{CjwKbvXw zbG%mGh44G^1tv<&jv(a5(Y80A!-s&+G8~w8$J#UU-JkhRK4Y|>xIhb>N~l{^z#R3&_cWr^^QwI zq*o6+)khqjeb`ckLetL_y52I9opIR>&)SsRAri@&@iu@*TNXeIZMsRWx zOyFplPbP%+3Hts1wlCp)poGz2XLKyweHe?^v=v51nP19m^crlIEipv3SxnssQs4_T zG=;*nDXW9gem}#8*=`h)&uQ#+!$*Wc`$P6EwYF`^`o%MrqygmN56M+l@`L5za;Y%97{rV%$O)A4ruQ8W|NIOS2t*EKql zV0;$2`=Tzm*zV4x5KiskI!p2iDOC#nNhipzq^q21dX~-8PJFJ4D0RNE$$BrHA>^#z z!*bDPabdEMezinH3T|jX$@Z~-_Nn3bPc0Vl?vy$zWX+$9M?Wkr=WVDYGQq0XnlT96 z>-_>L*N~IW4a*IDvv?BPChu*|1?Olr8xb^V`S?Ez^!bhmybkysje)Z&$41L{%+|** z?>O74VN3QiXWUrkV7)NX&l^91ClP?gJ3!qG8Dyaww5``B49*Tjd7_~o=ha_+ zS*N^Y4lQ{$bX?OkH^=3;w9oWru`&_jl%thklSjCglaOq<%)b**M@&k)Cb-440ODe)95X76~ZCBYvn%|DdZliNn zHG{J6&4}@p;9my|w#fFTsT&?Hk!LL06L$#eAqYTs>p`t0G@_Vzp zhxg5@4Vg3E(TKRB3C2y17PLeY-xhwz$@?jNr+9&a>?TVpcxyO{WI{ zKH~rvO5=Y{RV5G4TRIpJe`U@u2xGz|tV%^1ECcS(x}%xk(k+en z#v*7Dz-`q2Wm}3}M96)@-2vn50-1kzwh+8%@^PFMHS&jr@xU7D%#QbGIQFa#AyX)C zCQLWS{RLjo?C&&dDW;dnGcM}g$IrsZ)6(&bt9`0$vNh>GI^&NeckaBvvYDff@#R;h z!oL&xhf%vnYBP!5Sv-E9+9(r@74}0?D0B;t18mMtr`?$G=WXQmKWENI9f_a1xc42v zd9bC(vJ|N79m~SBJ3VFI4()A5g|fd6p;^L4c`b%OiwiWt19ChK-P$ENV?*yv8a_Ua z*{1QByq~dXL_1j`RsUH9<9Kkb;36l z>ft9K_Q`1T5&f=j&MUs6OYMPG@D|%$#1Eg{Do-wGKd5QW2-UfLgZ8Z-;haRbl2&TA zu#4eXl5ToZJhQ4A`p%;2mvf%jUq8HMej>eo;V&{fcBeKBJh#drj;4A#y42}|rdO_t zC-Dp9M2Bf0ix!LycV{E%alKpH`6BT);xmeBkARPli~1rWS$KFC^*P_oVvP9&H~vmc zU=TwXFexxxY|@7gL8>Qep%8Tr(xRj3H@x+#DA)9`B7Xj7d>FDA)ymQJSyYa3``A+{ zlHM%J&Bt87)8lP&S*)ouF}L!MaJk9GVA@XV)~)@y=5ssh!VgsHaM8z5g}1{ixI^5p zj!_V3iF_qQp#7LkQrp)2Swrkn2s_`}Y}0jWS-^8PMqvtjpE>h>!2`$b(tOq5MmX)F zD{!z}>Xdo0X-X9PFHwtgw#J3+)k0HYnqt{`zhH{Axi-otJ(!3=mzrZg2|3E%=zV4( z^dvUJ=kdRn(k?()_{drtgx=R=;e(!p zcNwCm&Wef-cdthBEC(%f&?eSR=H;wS$cY+{{Fz~ zQ89Pv=kkLrv6YKLtc}9~RN)vaCaG0m^Z7T~!;w}ll4Ug$g+`lfC|ZT30@Ibr%>ywI z6`gw0z6hTI{g5!|duQcflI?UB1hxYajiN{kSNc1GD-JgU=zw6^BSdT(z} zIU8pCJ{`{o4Wp6@m~+k2PmQv(Zx!LBWW@?Cr=RCKK0!VK!qYs0REy#w0?GSSKOYJasV1H1KOB$GtRiY~zBpf@-eEq! z`UxCMY8DU%ex4(igm^x_9OZHG;gnWU~S+eE)Tc0ip*e3o1&x@N#?DDkWuRN{l z^l(p8$!bC`PFfAdR05RwFFjF}kJhX~I0%}!fl3#v0)bF(7`b41$C4)dAB*t90y4jwd}#}TrVRFyN_I5$FlTZ(;^ ztplrmIDBl9(;XTbi`1Veh6}FKu*-y&(UqGggczL3*U8}zOdd)Igg#o>!0+b)5WSK< z=Af;_`to&03fE~=mL05dXs5B0@37r;A#;GptS|6QGc(|tfT_qXSgJ%g#TW9 zRZa&5)Jk{x{mBPQzl}fu9a5{L`jhWfhL05xsoaVd@8{oZXq?ngfb&ocoBY3EEJ2Ju zRtgp5fAXQpLAhXQ9pZ~a{sp6};RCcx`G)xZUp5S(GWz_eGL-%|n0YvK-FZdu=YQE? zE8_z^NPTCK^)HwiJYB$iuD;;E+28<6yA4*u`8SwanEC9upfCSZ)c?7we;Vokw+8$j zTbK6Vxd8vunE&Uw{nOk1|LdYwTnM3EUb-FFpu-qeVS*vO@_*|jp*HVM8bK?bNqE{f zW07HSE6v23!S>I}ikeve-ZT0xD*?9g;ID_SR~6rkFw1u&l3G4-yU_mIPu$QUdZ_?; zZSq3Qh^0CqK6&&Uatt!}bS3qr%y43rVDQaUB>SafwN1u&(BIy5=+lY|F7(_*ofFd6 zeo5yv5e$cpF*5Y_>-jfdo~OgF!-}7#YbTiUFKzH&AD5jQw6WKmaUj=Y%;o?fiW+jgrs%|ML=L5_1#>b+0N+*{b=pevrODQ=KXeB(Zg#*uaJ-801aq~ zOWsNhDQacIMRowh^MU?g@dq`7oPjnc8A;;=XOWV$rvn4Ot4-^}05O@Pu*7&`)!oA{ z#hX;nN=Xm+;jqh3;%U^Bra7Auy9v^zh)rBz{t3-A#nE1XKB!B zVItG9t>fSJ!3R($Y_3YTB#j8116YVS`E^>DZXJ~|?d z(5i_=ZXvyeXBoz~xm>r+MI0?*t(K(OY2nh<-*pzKJoDYyBf6_)v85Sr-}*{RaPQ*S zdw6$aVV3}?mKu|1(C$dJ@!*VkUn|~$yG?9wdFv?2=+k92{=0u+XO`CSq4R3tJo4>r z1)ex}HzvxZkj;#V{-%t8jA2Ufg{f&$akk0+nAW5hj_R+)APo0M&LoRAD^=4p%M2AB zjzZD67WsLvnaIs$H#?e+@6H%FP7j$S$WG?|wfEVZ0W>sUwAMYj#l9a5#e4D>&*uz@ zo!;N5k{r_wC3xE;Z+xmDAgNNp%`mG3eQhWzjqx<&2W#sD3-vsXl?i5n_;^I#zHhm> zO-bABX)gnn9|vRQnq_L!;k!9Sd|K=r}#@@U9QiI+JzE#e^OJBSI$U8mm)LpUSIxj7yQReqJ z*kbKbKN`t!oph%E>@1M*S{9R@!sISWNjFnmda`mpo>WzB<(b|xWA#Z=Y5G!U`@a0V z{#|3N#^mV9rnWqdVvD$6M4nrtq08+q94B8-dmX4#DnRTq?K zXRr&vo0Pim3v$))&kmTUx9expD0SEW@GU$Wmsk>v&G~-nFBV*UAOD81&2=`^2g(LXS@+nfgtt9l-?w z_TG)GOy!$VAq$^sDpwjvcMjVE!ux}4A)uRhQtJy|0YgeS#}SKw$}~|_?rto3An&aM z1D?%kfCqdtbw~wKH+q=xr(&w>%UN&S)f7+PL#*%E^8^|q9pge-QLj*@WtH*PV{t{8 z>)Rt!%InYfXdHQD17-$ss-oj8-m>)u*l`3NO$cbI1!M6uL>YB2YT|~Q|6<%piapz| zeQ#~Kcq~#e{AqiOl$W=jmjAI5FrKg>xbQJx2z&DWd}T$|(X{l+VZBtJ_qpx;E4N7| zOzSk110L&Ok;p6Bfdp$Bs6~2e41RG;SLMd_&X&cx?PXW%vUT$pYBKNq7eGQNLjnCx zC6M=V@iCGA6403%Cr(x^ws@yB;j|jJcw@P>3cV$1xT2i;*6CnVE%;-D2EEmbZ7eeX zxbALA?F8aDpgl^$UlzcGW!c`KM40nL@0Cxq-+gXVCzkC{T;l<2RL#$)>$c7}A|;mi zjwgk085jr_`aZUv5A*)Mo%uxO{G)tB_4KAlQ`HmN-rqkNa23+8WvWH}O1uq#hfjB! zYB#J%vew=L2@3IGx<-a}@M%`E6~oQ=XIe0_g7{Jh&saiTl7IK9+}jzLz^l|S$`C`n ze{9DscCWE`AL)|+N{)Cwx-givcEUMZ*`#;mA4E4Gg!vcq}nWs>0_1kV$ZbOR}o4Lpyd!w5UrYEPB+YI=?{#RYaS*k>9Dk!XyA zn`#tmX71`-^yI{{H324D8ugEl`Zo{e+7meiNHK+Gsulf_LezALzN{!%x`QuScEPh~ z*3(evR0kEi$8kcsjjBS=P1~l)mk{NH51|Sol%hI*f<_xdX8DBQ~6_G1O3Yc!Js@ zTcXp3g;n7VYFpe>AzUV)cI5F)nAJia*K54}+WqXLtKISTk<`uvrqdJ!u3PVCh%i{d z(b#mk$da^JOZMvJ^eTQ~BfIc5RY9B8LJb#Z$tqGLJx6ah%h98XN+HnZSzuaB|Ho%d zmJE8lVd;*3S?jpVOF}t(lE!X>=_yO8^d=SUI&Ro%%FOiKW8uALZCtto&}05}x<{|* zjaG{}4x({WA0N6l0T|uNWF>h^fCOsB1nGZ;rzpyY3Pd2ZUM?O%8sndsRb+Tm|N3)Id}=&k8gt zwGV=ufy+g|BBvN`r${e2BwCtZ^!9|j)r3y0V&9m;T5b7ER06Uaxq7p{ zTJ5;7b#%Z_PK?97{Y^N?sEe1BTCPVatYi$n*1He-D`|uxzXue=js`Qcx=Qsn6es

Wu%S43kQ{}oIqn!ZoD-QXwHbTpcfof@rRjUe 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 Date: Sun, 1 Sep 2024 07:47:33 +0200 Subject: [PATCH 50/55] Version 3.2.3 build 590 for TestFlight testing and App Store --- piwigo/Info.plist | 2 +- piwigoKit/Info.plist | 2 +- uploadKit/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/piwigo/Info.plist b/piwigo/Info.plist index 50d2d8c86..14146e60e 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -25,7 +25,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 589 + 590 INIntentsSupported AutoUploadIntent diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index ddbc2655e..3031d8035 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 3.2.2 CFBundleVersion - 592 + 593 diff --git a/uploadKit/Info.plist b/uploadKit/Info.plist index 42263ea82..ffe3b1066 100644 --- a/uploadKit/Info.plist +++ b/uploadKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.2.1 CFBundleVersion - 410 + 411 From 175c16d92c4ef373531ab336b3a741b82f9a3a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Wed, 4 Sep 2024 21:02:53 +0200 Subject: [PATCH 51/55] Requests access to the local network if necessary --- piwigo/Info.plist | 2 ++ piwigo/Resources/ar.lproj/InfoPlist.strings | 1 + piwigo/Resources/da.lproj/InfoPlist.strings | 1 + piwigo/Resources/de.lproj/InfoPlist.strings | 1 + piwigo/Resources/en.lproj/InfoPlist.strings | 1 + piwigo/Resources/es.lproj/InfoPlist.strings | 1 + piwigo/Resources/fr.lproj/InfoPlist.strings | 1 + piwigo/Resources/hu.lproj/InfoPlist.strings | 1 + piwigo/Resources/id.lproj/InfoPlist.strings | 3 ++- piwigo/Resources/it.lproj/InfoPlist.strings | 1 + piwigo/Resources/ja.lproj/InfoPlist.strings | 1 + piwigo/Resources/nl.lproj/InfoPlist.strings | 1 + piwigo/Resources/pl.lproj/InfoPlist.strings | 1 + piwigo/Resources/ru.lproj/InfoPlist.strings | 1 + piwigo/Resources/sv.lproj/InfoPlist.strings | 1 + piwigo/Resources/zh-Hans.lproj/InfoPlist.strings | 1 + piwigo/Resources/zh-Hant.lproj/InfoPlist.strings | 1 + piwigoKit/Network/PwgSession.swift | 2 +- 18 files changed, 20 insertions(+), 2 deletions(-) diff --git a/piwigo/Info.plist b/piwigo/Info.plist index 14146e60e..eb2c0fedb 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -45,6 +45,8 @@ so that it will be able to download images to Photos and upload images to your Piwigo. NSSiriUsageDescription so that Piwigo will be able to upload images with Siri. + NSLocalNetworkUsageDescription + Piwigo uses the local network to access your Piwigo server. PHPhotoLibraryPreventAutomaticLimitedAccessAlert UIApplicationSceneManifest diff --git a/piwigo/Resources/ar.lproj/InfoPlist.strings b/piwigo/Resources/ar.lproj/InfoPlist.strings index 73e9abc02..bbcea554c 100644 --- a/piwigo/Resources/ar.lproj/InfoPlist.strings +++ b/piwigo/Resources/ar.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "بحيث أنها سوف تكون قادرة على تحميل الصور إلى الصور وتحميل الصور إلى Piwigo الخاص بك."; "NSSiriUsageDescription" = "حتى يتمكن Piwigo من تحميل الصور باستخدام Siri."; +"NSLocalNetworkUsageDescription" = "يستخدم Piwigo الشبكة المحلية للوصول إلى خادم Piwigo الخاص بك."; diff --git a/piwigo/Resources/da.lproj/InfoPlist.strings b/piwigo/Resources/da.lproj/InfoPlist.strings index a2e1121ca..ab07e5498 100644 --- a/piwigo/Resources/da.lproj/InfoPlist.strings +++ b/piwigo/Resources/da.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "så den vil have mulighed for at gemme billeder i kamerarulle og uploade billeder til din Piwigo."; "NSSiriUsageDescription" = "så Piwigo kan uploade billeder med Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo bruger det lokale netværk til at tilgå din Piwigo-server."; diff --git a/piwigo/Resources/de.lproj/InfoPlist.strings b/piwigo/Resources/de.lproj/InfoPlist.strings index 019837c48..85a430d6c 100644 --- a/piwigo/Resources/de.lproj/InfoPlist.strings +++ b/piwigo/Resources/de.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "ermöglicht, Fotos auf herunterzuladen und Fotos auf Ihren Piwigo-Server hochzuladen."; "NSSiriUsageDescription" = "so dass Piwigo Bilder über Siri hochladen kann."; +"NSLocalNetworkUsageDescription" = "Piwigo verwendet das lokale Netzwerk, um auf Ihren Piwigo-Server zuzugreifen."; diff --git a/piwigo/Resources/en.lproj/InfoPlist.strings b/piwigo/Resources/en.lproj/InfoPlist.strings index 0bac4f7ab..d663b4161 100644 --- a/piwigo/Resources/en.lproj/InfoPlist.strings +++ b/piwigo/Resources/en.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "so that it will be able to store photos in the Photos app and upload photos to your Piwigo."; "NSSiriUsageDescription" = "so that Piwigo will be able to upload images with Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo uses the local network to access your Piwigo server."; diff --git a/piwigo/Resources/es.lproj/InfoPlist.strings b/piwigo/Resources/es.lproj/InfoPlist.strings index 092ad4ef2..1dc43f9d6 100644 --- a/piwigo/Resources/es.lproj/InfoPlist.strings +++ b/piwigo/Resources/es.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "para que pueda almacenar fotos en la aplicación Fotos y subir fotos a su Piwigo."; "NSSiriUsageDescription" = "para que Piwigo pueda subir imágenes con Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo utiliza la red local para acceder al servidor Piwigo."; diff --git a/piwigo/Resources/fr.lproj/InfoPlist.strings b/piwigo/Resources/fr.lproj/InfoPlist.strings index e03612ec7..25f9bced9 100644 --- a/piwigo/Resources/fr.lproj/InfoPlist.strings +++ b/piwigo/Resources/fr.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "afin qu'il puisse télécharger des photos dans l'app Photos et téléverser des photos sur votre Piwigo."; "NSSiriUsageDescription" = "afin que Piwigo puisse télécharger des images avec Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo utilise le réseau local pour accéder à votre serveur Piwigo."; diff --git a/piwigo/Resources/hu.lproj/InfoPlist.strings b/piwigo/Resources/hu.lproj/InfoPlist.strings index d1dd25166..555f7e65d 100644 --- a/piwigo/Resources/hu.lproj/InfoPlist.strings +++ b/piwigo/Resources/hu.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "hogy tárolhasson képeket a Fotók alkalmazásban, és fel tudjon tölteni fotókat a saját Piwigodba."; "NSSiriUsageDescription" = "hogy a Piwigo képes legyen képeket feltölteni Sirivel."; +"NSLocalNetworkUsageDescription" = "A Piwigo a helyi hálózatot használja a Piwigo szerver eléréséhez."; diff --git a/piwigo/Resources/id.lproj/InfoPlist.strings b/piwigo/Resources/id.lproj/InfoPlist.strings index 0bac4f7ab..1270ad7c9 100644 --- a/piwigo/Resources/id.lproj/InfoPlist.strings +++ b/piwigo/Resources/id.lproj/InfoPlist.strings @@ -6,5 +6,6 @@ Copyright © 2017 Piwigo.org. All rights reserved. */ -"NSPhotoLibraryUsageDescription" = "so that it will be able to store photos in the Photos app and upload photos to your Piwigo."; +"NSPhotoLibraryUsageDescription" = "Piwigo menggunakan jaringan lokal untuk mengakses server Piwigo Anda."; "NSSiriUsageDescription" = "so that Piwigo will be able to upload images with Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo uses the local network to access your Piwigo server."; diff --git a/piwigo/Resources/it.lproj/InfoPlist.strings b/piwigo/Resources/it.lproj/InfoPlist.strings index 7db51c612..78a8aa294 100644 --- a/piwigo/Resources/it.lproj/InfoPlist.strings +++ b/piwigo/Resources/it.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "in modo che sia in grado di scaricare immagini su Foto e caricare immagini sul tuo Piwigo."; "NSSiriUsageDescription" = "in modo che Piwigo sarà in grado di caricare immagini con Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo utilizza la rete locale per accedere al tuo server Piwigo."; diff --git a/piwigo/Resources/ja.lproj/InfoPlist.strings b/piwigo/Resources/ja.lproj/InfoPlist.strings index 34d797c44..4a180bf23 100644 --- a/piwigo/Resources/ja.lproj/InfoPlist.strings +++ b/piwigo/Resources/ja.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "写真を写真アプリにダウンロードしたり、写真をPiwigoにアップロードしたりできますように。"; "NSSiriUsageDescription" = "piwigoがSiriで画像をアップロードできるようにします。"; +"NSLocalNetworkUsageDescription" = "Piwigoは、ローカルネットワークを使用してPiwigoサーバーにアクセスします。"; diff --git a/piwigo/Resources/nl.lproj/InfoPlist.strings b/piwigo/Resources/nl.lproj/InfoPlist.strings index a182657b5..53bf4f007 100644 --- a/piwigo/Resources/nl.lproj/InfoPlist.strings +++ b/piwigo/Resources/nl.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "zodat het mogelijk is foto's naar Foto's te downloaden en foto's naar jouw Piwigo te uploaden."; "NSSiriUsageDescription" = "zodat Piwigo afbeeldingen kan uploaden met Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo gebruikt het lokale netwerk voor toegang tot je Piwigo-server."; diff --git a/piwigo/Resources/pl.lproj/InfoPlist.strings b/piwigo/Resources/pl.lproj/InfoPlist.strings index b251253b4..9271c4cab 100644 --- a/piwigo/Resources/pl.lproj/InfoPlist.strings +++ b/piwigo/Resources/pl.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "dzięki temu będzie w stanie przechowywać zdjęcia w aplikacji Zdjęcia i przesłać je do Twojej galerii Piwigo."; "NSSiriUsageDescription" = "aby Piwigo mógł przesyłać zdjęcia z Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo używa sieci lokalnej, aby uzyskać dostęp do serwera Piwigo."; diff --git a/piwigo/Resources/ru.lproj/InfoPlist.strings b/piwigo/Resources/ru.lproj/InfoPlist.strings index 01c5fe0a6..c372a7088 100644 --- a/piwigo/Resources/ru.lproj/InfoPlist.strings +++ b/piwigo/Resources/ru.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "чтобы было возможным хранить фотографии в приложении Фотографии и загружать фотографии в ваш Piwigo."; "NSSiriUsageDescription" = "чтобы Piwigo мог загружать изображения с помощью Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo использует локальную сеть для доступа к вашему серверу Piwigo."; diff --git a/piwigo/Resources/sv.lproj/InfoPlist.strings b/piwigo/Resources/sv.lproj/InfoPlist.strings index aaa63c40c..f043afba3 100644 --- a/piwigo/Resources/sv.lproj/InfoPlist.strings +++ b/piwigo/Resources/sv.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "så att den kommer att kunna ladda ner bilder till Bilder-appen och ladda upp bilder till din Piwigo."; "NSSiriUsageDescription" = "så att Piwigo kan ladda upp bilder med Siri."; +"NSLocalNetworkUsageDescription" = "Piwigo använder det lokala nätverket för att komma åt din Piwigo-server."; diff --git a/piwigo/Resources/zh-Hans.lproj/InfoPlist.strings b/piwigo/Resources/zh-Hans.lproj/InfoPlist.strings index 549a28421..69576f103 100644 --- a/piwigo/Resources/zh-Hans.lproj/InfoPlist.strings +++ b/piwigo/Resources/zh-Hans.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "只有授予此权限,你才能将照片下载到本地图库或上传本地照片到你的Piwigo相册。"; "NSSiriUsageDescription" = "这样Piwigo将能够使用 Siri上传图像。"; +"NSLocalNetworkUsageDescription" = "Piwigo 使用本地网络访问 Piwigo 服务器。"; diff --git a/piwigo/Resources/zh-Hant.lproj/InfoPlist.strings b/piwigo/Resources/zh-Hant.lproj/InfoPlist.strings index 473fe67c5..070a6cbb6 100644 --- a/piwigo/Resources/zh-Hant.lproj/InfoPlist.strings +++ b/piwigo/Resources/zh-Hant.lproj/InfoPlist.strings @@ -8,3 +8,4 @@ "NSPhotoLibraryUsageDescription" = "允許Piwigo儲存照片至您的手機及上傳照片。"; "NSSiriUsageDescription" = "允許Piwigo使用Siri上傳照片。"; +"NSLocalNetworkUsageDescription" = "Piwigo 使用本機網路存取您的 Piwigo 伺服器。"; diff --git a/piwigoKit/Network/PwgSession.swift b/piwigoKit/Network/PwgSession.swift index 580376b6b..91de694af 100644 --- a/piwigoKit/Network/PwgSession.swift +++ b/piwigoKit/Network/PwgSession.swift @@ -31,7 +31,7 @@ public class PwgSession: NSObject { config.networkServiceType = .responsiveData /// The foreground session should wait for connectivity to become available. - // config.waitsForConnectivity = true + config.waitsForConnectivity = true /// Connections should use the network when the user has specified Low Data Mode // if #available(iOSApplicationExtension 13.0, *) { From 18e427379a8132575a72ef053fe7d26090e09525 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Fri, 6 Sep 2024 21:59:22 +0200 Subject: [PATCH 52/55] Fixes a situation where the app tries to create a thumbnail of a size larger than the original image --- piwigo/Image/ImageUtilities.swift | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/piwigo/Image/ImageUtilities.swift b/piwigo/Image/ImageUtilities.swift index e402a4839..f419da894 100644 --- a/piwigo/Image/ImageUtilities.swift +++ b/piwigo/Image/ImageUtilities.swift @@ -250,11 +250,21 @@ class ImageUtilities: NSObject { static func downsampledImage(from imageSource: CGImageSource, to pointSize: CGSize, scale: CGFloat) -> UIImage? { // The default display scale for a trait collection is 0.0 (indicating unspecified). // We therefore adopt a scale of 1.0 when the display scale is unspecified. - let maxDimensionInPixels = max(pointSize.width, pointSize.height) * max(scale, 1.0) + let options = [kCGImagePropertyPixelWidth: true, + kCGImagePropertyPixelHeight: true] as CFDictionary + var maxPixelSize = Float(max(pointSize.width, pointSize.height) * max(scale, 1.0)) + if let imageMetadata = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, options) as? [CFString : CFNumber] { + if let maxPixelWidth = imageMetadata[kCGImagePropertyPixelWidth] as NSNumber? { + maxPixelSize = min(maxPixelSize, maxPixelWidth.floatValue) + } + if let maxPixelHeight = imageMetadata[kCGImagePropertyPixelHeight] as NSNumber? { + maxPixelSize = min(maxPixelSize, maxPixelHeight.floatValue) + } + } let downsampleOptions = [kCGImageSourceCreateThumbnailFromImageAlways: true, kCGImageSourceShouldCacheImmediately: true, kCGImageSourceCreateThumbnailWithTransform: true, - kCGImageSourceThumbnailMaxPixelSize: maxDimensionInPixels] as [CFString : Any] as CFDictionary + kCGImageSourceThumbnailMaxPixelSize: maxPixelSize] as [CFString : Any] as CFDictionary if let downsampledImage = CGImageSourceCreateThumbnailAtIndex(imageSource, 0, downsampleOptions as CFDictionary) { return UIImage(cgImage: downsampledImage) From dec4b3538219abea9fd25adce3a120b2ec4738a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Wed, 11 Sep 2024 21:09:01 +0200 Subject: [PATCH 53/55] Disables debugPrint() --- piwigoKit/Network/Extensions/PwgSession+Utilities.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/piwigoKit/Network/Extensions/PwgSession+Utilities.swift b/piwigoKit/Network/Extensions/PwgSession+Utilities.swift index c94d27acb..e3127c256 100644 --- a/piwigoKit/Network/Extensions/PwgSession+Utilities.swift +++ b/piwigoKit/Network/Extensions/PwgSession+Utilities.swift @@ -78,6 +78,7 @@ extension PwgSession { func checkSession(ofUser user: User?, completion: @escaping () -> Void, failure: @escaping (NSError) -> Void) { +// debugPrint("••> seconds since last used: \(Date.timeIntervalSinceReferenceDate - (user?.lastUsed ?? 0.0))") if #available(iOSApplicationExtension 14.0, *) { logger.notice("Start checking session…") } From 2130ff762c90f4a7080fee165319b1755eaa764e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Wed, 11 Sep 2024 21:23:29 +0200 Subject: [PATCH 54/55] Version 3.2.2 build 591 for TestFlight testing and App Store --- piwigo/Info.plist | 6 +++--- piwigoKit/Info.plist | 2 +- uploadKit/Info.plist | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/piwigo/Info.plist b/piwigo/Info.plist index eb2c0fedb..d274c5d78 100644 --- a/piwigo/Info.plist +++ b/piwigo/Info.plist @@ -25,7 +25,7 @@ CFBundleShortVersionString $(MARKETING_VERSION) CFBundleVersion - 590 + 591 INIntentsSupported AutoUploadIntent @@ -41,12 +41,12 @@ NSFaceIDUsageDescription Use Face ID instead of a passcode to access your albums. + NSLocalNetworkUsageDescription + Piwigo uses the local network to access your Piwigo server. NSPhotoLibraryUsageDescription so that it will be able to download images to Photos and upload images to your Piwigo. NSSiriUsageDescription so that Piwigo will be able to upload images with Siri. - NSLocalNetworkUsageDescription - Piwigo uses the local network to access your Piwigo server. PHPhotoLibraryPreventAutomaticLimitedAccessAlert UIApplicationSceneManifest diff --git a/piwigoKit/Info.plist b/piwigoKit/Info.plist index 3031d8035..fb3e9dacb 100644 --- a/piwigoKit/Info.plist +++ b/piwigoKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 3.2.2 CFBundleVersion - 593 + 594 diff --git a/uploadKit/Info.plist b/uploadKit/Info.plist index ffe3b1066..c509cbd27 100644 --- a/uploadKit/Info.plist +++ b/uploadKit/Info.plist @@ -17,6 +17,6 @@ CFBundleShortVersionString 1.2.1 CFBundleVersion - 411 + 412 From 2e63030792af429fafe1ead0a787a61727008e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eddy=20Leli=C3=A8vre-Berna?= Date: Wed, 11 Sep 2024 21:51:26 +0200 Subject: [PATCH 55/55] Updates App Store icon --- Assets/Images - Readme/Download_on_the_App_Store_Badge.svg | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 Assets/Images - Readme/Download_on_the_App_Store_Badge.svg diff --git a/Assets/Images - Readme/Download_on_the_App_Store_Badge.svg b/Assets/Images - Readme/Download_on_the_App_Store_Badge.svg old mode 100755 new mode 100644

oBqWF}xBHqydR9iK(vX9^(71SFK-+>Cspt_R;!YDC zm>g(4jb4sZ`t$f4h5loVd*<+557~pFDhu$OcPZwRJugq#<9{I9Bv4Tc8@2$+zYpPD zOMG{dbkVcYmGapnsAW2$z@8Huvac#LQtO@uVH$!YuF0*>!B@TQ_mhs-^wpj`CO}6*V};_aldy@QnFaT)g&eKel3(PlgPN&zjW%Q0v2N7 zd`3j#d+nV!a~~w@j%w@`->xoUZ1b!FSkZ)Pn6qUV4fsT zZ5;7^cmR9PgOmC~1RrY0=xXfzW|t*gVXl@e00#1eM!?P^GXBVX z6XlxM!JVLxF36S2;?&d#+x8pJ5MuCVGE#6Ge#EA+p%8T4^U7O+KFjq*==??b@heSt z`oz2=UiM~ugqjJ-b+;XS^PjKJQ!aByXvn8+uZRb58H}*Jk7(EcOrPKz*G`9g;Xe+c zelIVuU<^5mm0?$BhKptR#$ zD&-QOO@;rFXYY!8c<32)?x-j(=juf>+*$2w-(+YGe{Zf_Rvog}%Hd&1!YFp{Nht&- z(C}&GA;U{!G6pn%*_$yZkRibt5^4J0&G)}NwH`Jigs)pD6psSl9(Bb+^3?lhHA4w9 z{|sRt4%mE~wm(SfbpY}yS^eX2%NO-ml3>UXV9zwa*Ia^K0&sz8^oJSL_a{Pj`8iG| z>lN0R2448+uJ{P#!_&1Z%!yo)th6R^trHGdBW5s!TvecF79%3>AUb;I5P>&oI_Wx> z%=ImHSXKcmTVKT@>U}&hLa}dhEp-q+&m*6u%a>@gL%R%D`5q+R6Wn)j&>`3KdzVTg zW>2f~zfIbj$bUK+29!f-uAP^prWA@~Xa{*%US=QCY;CYCF@ylog4QhQ=D_QuZ(A_M zvp^2$3SzGF^aE+d&g^0HzOM&GF&z6&A?tQ$61{MI>$=$x^IPH78b6`+@~k|(7C()}g-y;D-X}kPmr_&ASm`VOQ6B1h51B(N zE|Z7s4fui3fVP^~@$!2v?lqZJ$w!r^LlQ5gd@8%=(W0;Er&--atQ#t_VbT3P7BC__ z+KYJj`fT@&#BgT;Bes)yUwL$^+iwF|6tKRB>*v(V=cW@9sacIp7&J!6==RmI8Tn@D z?YTD(8_jZpwb%Ippqj%-A+vLfmd9fQ=B}3p^g2nLzMw?$pJ*&vfutR1ni)^H!o8)o zZrv=4L|G?l#&k3T{ka|EOLrkHn*L7*#agg_BObISC?i0uBLPN#XF z8T-6T^>R;VDy>Cs1mYGu8ux14kaTHU7hc65!vf&E#_=DGl~e5sZ+8|`C1ZC{_2Q}t8{6#1 zjD~UOs?4m>KD`nF+=mzVv4-;fd_Yzp^^7vL(|X~zOYY$I0FVe4s+crNi?JEAsg_*% z91D|P;hF5)p%EYce7{2ajh^eB^&7(uTV+atNv)!FTGDSne8rr1o$R)-xmElo2TB?# z8SIVJKyTNI!DT1?{2KUT>$Y|$oaixodBONJ2IwI}%Q2~HUo1ZjrCfmBzzE7DW2;?9 z`__RMkpz*ZhmBl(V0zQZYC-^OFnNmV<;cFWg{3^MDc0FQ%t7q;Wa%A6sry&tx<6kH z)Ox0vnjrf%#3@F?qeNIhIQ=1hB6bAMD4aY{JYk0IhiN}}r;Bm-fR@bR4`)@V0816n zF`1X#g BNVF*k*pe3K$vpy&9}W*e+W=IlV}JwK>Zg&)^(l6Dx9KkfAI@DCM?Aiw z?pvUWG&ygq%ZKyq$Z#v1TS|ftUKUX>d?Z`;VDPT?+0@^T2M)@4d{z^0_D!PLZ*e1v zGVWFLQm=emc_OJ1wVu}KbYuoG&&L{fSkJuO#3@@$Z*8t{0`W#Wg^IzeL~W7I?W7V;d`v<@ z!o6#22}L~_TkjJh?=iPK^%C`|c<9PcUHmhbA%9%NGhIAKRT}hjRTv(iiJ99YU&iCY zcdi0RJIZ*6VxM@`EYgnJ{u?6K0_`g`YLtmRSaPxG%YY5>c!td5 zuE?}TJ_@8snG{zMU9?X)A#)<1e>i)}Z=t6n6yko}Q@X$i-s4}|x6r+We1>-8KkxPg)O{YAA2vytGP@79Ro~YQg z)y*W8KArdZ*DGhxQPKGX)cJNlz~uzYqOSXO#|>YXFE-!FTNyePC4Gg)^pvT71W_fz zY)c9uWqJNgqV%XSb1|LzfE&=acx1ku)BPtSi;!~TBMgJqWziK*Y(8=Kq+TvMMp(a1 z7d@7ebtYGTz%q$cUW(b!5g=p5sNey6$8G7n2zhPI6Th&iL#zlqU=B|{E;Ey6P;26| zpF)p%){RgC?)S&V%baTYK!aj+(!B{1b~2+@9&ckpx7L#Ws* zl{Ka_Oc6oX9+Rc#)>&IY?~DvckG);`=`9WdMy{LU{GEty)rxCs2Lot82pq|w(C(#Q zdV=zTIVal5AP!2afDe}uGav8qhSG6DV*#<@bR06hd)qtRh%2cnF>{erVsYu55(Ibe zVq&EU)`)LdmE}%pD~MSI0PC2SR{N9(8x7gjnKo5Rtb7+<>3NTN3{=w*t**BJ-d285 zri9snvx_e*M4fr)0B?QiEV*kFh290ptM;1fHH*svXxH|CHwCSI?<3A>@w$Jn3v@4v zi`^;#%e#S=Wqg5JpO*y(&xs1?M~A=9l26q&%iaHs$Yncry#%-pA7aXCo)-j zB$2dgWSU>Kn4EftgSz1qrDk*~{$_hH zm~t?LqQ4m=JGhC;MuUU!l4}WRX8Gnq1J#Wr(;bBbij@fK8-c^z02@UUq6*N}CFTOG9tO_CGKT zF5Z)|S-j0W3B!p)#VNOum;v%495?L6PoO|4(AiQmOVqBmTOf<$$h(MIV9vh%H{l>9BGu@p2GE#w?j!%qXU0 zg7{vPq3~EAS9QeXD>394h}#KD;MVvf;vF-<$h!0K;2Y4oWtdHvjMZH-{eqM0KF-_G zss~HpmMm!hMw>T$6F=@T?9}}NZtDY(KfBl_5FZbEW2MV*utX0&SDy79*!2r*^>rdF zuH2Kdr~1OA1k4PhzcGtp;WROpT(b8T#z0Gc>>*X+n#D`D)55ZWTT*GB_lyERu80O+ z@upc}A*S!kv>FGR?s(Yy=HHSQ5_=D;;l&3ptnRBfk~N;Ec{U z-g(K|YEKuZm9%QYY@{c(WItxM=^P%_H@+m5##+=|RPr{pKQvAEiU)qIOm)N$}};l9Et8H{ro*3g>YQ0^_r8JVQ zd||VT8+8Vp39q6+3BjI6fOwMy?I+W=Ne-xwBbS2ln;2VyG};q?Ee#hC)UIf0^Futs z$T#)oKdRU(rO?O1Cl#>42$#nicy7Ghn)rkojdx99N|fNg?__xbAT7> z0w9nCp3U><;x*DN$0F72rC@d09O3O>>y@u1&eFoYTr<$st$-m>E%gUNF#7PO(v zm&Rw8c3^{be;KF*;@TE`=wd~fEErqMqGl4`m=Hc905M1*Lts*xJ$O7;=RlFu2SafB2H{ZIG@?N%-e`$J=uE zHJA01^w_J+bUdeVdJB!S%8L+w?@!hEabm{eN5$&Vx86AEjtp;Qc%KS>BFNlvqTBp% z``kSt)zs{DI2HLHiiE!{uhOvY?lEL=;#Anh41uL)asisea(10uO~(6Vv>&0q!$5VG zB2gnZAn2dqVSsc~s);8k#*Ol6o#?Cl>SiW#?si5OJa}ZfBq2U<+v)r1*WH{GFahsG z*6#^e;*xY84js8R?B_c1$353CxM@c^bf}%uj&dO?7#>NyyU6fuJfdkIrDnJWuer}~* z(EG|!SYbn5w45jf|xr!1kZ>;opD+p@CsWi-OpmS|yluDof;2PD9v(GEh>!`-< zX|l2QdoFJkmJ8BTBv2E#@=FVT>YgOJ`~C zmXIscHI`ZEGnFj3t&h&s06D>CkPn@qD-)VI#C@E5SFxolc6X)_V-;!~UP zp|%w~J88?i3mLQ`6YZp+w#cw^?oU)$pRKv3w1cT0B8q3eViVq^ee%{gT`<$H?afxT z!`7in(3a2Hzi{%#Spt7B|BzP$iHJJbn-fv{c+^ZFPmseK)@fWlR#Wk2!ms9qYs+bM z-`$K{ae|AuPjKyDA_N+)>m`sh*RZ3#Y^U)BMho7~Nt+y~b~jXUH*X65vs zOa&A)omM}4@;6iNJb@w?e6T?losAO7N~Q3su2&Pt*o|tknjI0Pv;n*JNzDw#VWswJ~BzzK{!UZZU=;q=2Z-Vz{b9n1kx1 zqA;>KQs6STu)%`J-6jj?XTcx$LVe|@bopP=O1>QMNd9Z#6=#p_NnREW9nvOpw#Wq! z$<@{AP`;pYRYu7E7UF0Z#nMmuJ&;4WHJ4fCKjbuz0e=UjktcH(UI`qWq&lr>@DkF> zxGfBQE5+l(2|B_E+NUIjot4R;e3nDlb_cE(phhS+bZkd3LtJc z6H`+jAMA}`RcnHWN#Ksw$>@W75b+Vog*-XDnIAk8-$K`yoaeB5u{&VbmdYVCfS{Z` z?o?L4^!jJC8-ViW)aAFoj#7r()*TQez-|pKA~NI z`KAD?1(fr~j(ymUh(Pm`H|;BpaVhWxT^^%rMW%Yo9el`Jo1_IDQUnWd?@W;WyDIC=LM}HG4QF7By{|RQO{>|p0 zSbpgdxxw?Fk2x0edje4TeLMYj>G^2~nxDnBrDKnr!tzwD_#2GB=+KGK5ZQM;1pg9^ zIhMlR(|6e1E4ND2-r(ODnOqo;odZO6`nqbx_;UrL7uJz}sn*4=%_rX#P!VW6f+i=o zUxbETWT201V)Rh3&OVxEsghKD#83VA9p%;HYX4P`@s6;qOG;InkLLualDf8d{E5rpax*v$RTGyo=Y7BrTyz zo7>PNb?1Y{lc?RU^jF=vhPQoEF{vAtKb+P7{|>(7Jm1O`K3s!t)(u+Y>?kg`o2(eoQKL zONr(6XMLpZJz4rfMWEk!x~LTKrtu;}*yBK#x_Vx!svlR^=qF}@rzMV3-T{BLc5?*{ zUk04`@W`+EXf(^pAKJiO%>jPF&2M?K^)ji8?8ALrB@X4p@yEjt%kuX|#b){_G@JTb$y}=KM!Y9)T z5KS!@v>2NOpGoyek=K;1eJ{inWCh-_qx-DwV#h!s!?im8Eeih8I8P*3- z1WIJ&A3Y97SvDE1Zc_(OG&McTzutj~!d`n;c;-rVmbI>Zr&}NM!<;#N-c?E9LBJwhs*&Kd%%H5eEjB`nz49oDKXk&i}!6C-0{3FJ*` zh6(#pv*htIuWco&RH@S@u)j;8!Lf>A?zsdPrBn4K*|e;uLl$U+>0!U7h+<+?<2-YmX@ zX0lTLUnqQ_EQ&5tFR?L>j)nJIjcsND%eq#RQ=6lo#Z3n?-=@ry?ZvkRKjvbewH^!pHQ!Hke1bs3MQwM zj*|%b^<@k}`qP&`^{(d#^hd~8ih+Z>DnDwLdpTxM${WY6WHRO-zHvtJw5;27^Y6bm zf18AL1vpjhj`ayR4g+&kwuFrhC9;jJ6jB{+90nRj0%{=ADzs(VF6gADWj&8UZE8wdb29ko5&zI&9+~(8 zD6#J*JmxS%AF>L+wCXWrG*e{QRySV?Pw6m ztGlKuw&@x_$w5ufv`86VKkL#Yy=OTe;xr381Lk(a8V6Nx`fY`Mb-*&Pb)C}`F=bc4 zWACKvPQU%DbC%ZIPYgMUQ)#IvJ$fs2uatMSwez#pIN?nFw~!nVkDE_Xyv~73-Cic} zLV{}?xsuQkk{TiJUda(qWa=9vHE;3pl&V}SYjPLU*G%O;KNaeHpd5C2Ihjw>|LeGs zN?K9N>6`iKdi8S2YqH)x4aFh8N`$wWVdc^|M|b8+P)qUf+31?dF32j!YLAZcEs{@F zHqCc~6Mr}+;Q8yG#xb6hAnepX>a23mjB*LOu+dCDGeI^exdzgc8RZSKK;zV&bH&I= zzM>A_*vIoSFA-CsmWYb=+x9|BDn2TNsgX9VBT zw8k%O4$1?a9&shB@eVDolU1zD`X)-NmUp;IFW2K+PK@bS2tA&UXWp1#uE{K`i+mHY zQ`e)(*uApm-l%HQZ77)>;Dm%*Upi06de9cewCLZ4GD~ic*om+SIuOvjozTAH685)$ zmIhvMR6Vp!@K!wj7{6E!pQ%Y@@Y8}9vG1a=yEWf4DT!bwoOUlAR3%Rz$773^H4V^p z@~qwaGOx8J=q|Txf9bm2oI0$uxH@9tDO=fk(M}3W~Ll#l!O{5WiQvR=Su%Q^e9btISZxrchB5Ze7y|!#Y~+h zNW2^WC37^~Qd2XwAu*w<`K<%=gXKU|@U5HvrIwE0RLA{r{3GV#L!~OyY05Pk z)7-giJrZUm-%f-FN_FMgRyo7k8uTlop(<_1!HS|;v#mG1t>^HD;)@q@=0}p@vMOD^htbNc0C7pS7k#&CJZJiAc&XMTR-!uFgcTmP`cyPo zOs8H&yUCA_*-fgR68mn-XrkpMxz{heO26W?o?5EQcXZQA-kDR)AOGg<@Yf4hVIo-u zH9sm5!PPqkDm&lHJx19HG=u_b%5&f8AMGJj4S%?sBJ4o!pE}%?6hE#AO8EO24 z&U4riDpG9H&iQL9osp z`!1w1$&a$zm`-c;XPuzzQ|5W7O&K?AC6#6zD^+%hWM@zw6~cwSi1NTl?ag}}LzFf5 z+hb}~WYTO3dHuu$85>wMAI}GzCESiczT5Itl~5|SAxmF6nIfuLz&5fp_)E(UnrWJ@ zW4&?y+Cw{)oLBm1RcuUSGOR7X3=egMWZMMQuc>4uBW6eY;b(sL%B)(wXz*X@cv`#5 zC&4e~1(EX1YP%_p(;%vb25mGxAzGSJ3KrFgx1(MUi9b+5?7#$?k1qx9GadvE(t~I@ zYBnEnukbS1$R8|Y$r8%G+M{o)m2vY+THin*@#^b!r!-b60oR4%Mgqg59!sUfSHG4c z&*5Lpy??Xca{zr)_1Ypn?n;;ctc8MSr6+C$6N60Hcj^(leN_xey1!4M)SpxX-zlqa z?_>6X=#ea?X~Z-Zya4dPDmL{#56%(T2$f_8ia)450DY^TwB{?*#8BU#^c(#reLeaE zWZM#h;>`8ypb@#m>)ntWxm1$XX} zgGi9yC3{7~6dMU;DO-Bq(;)rz0PFJZW~Vm zPi4v$L~-AEN${=QH~VM5z1Ulhwlx529Zp{3C$&yiZXNYhRy^Bg7H>$%KJ|4`IB984 z^7IN0e+u&_rqeQv@4;->Y**qA>rr*tJS1L#m^50_^J>`TQ0tA;f=IWyV{J;c2oKMYF3 zVN#97zev%G%Th?_-_?qQUfKl2>GS`-WH+29zM^P8PD+-Y0}t4%%C~GD_oV4xWPhS8ky^zqzHK z8W`8i<3lIvNF__1O+A?xT3dl>9^sIHOOJe2MJDu;|Bt6HkB7Q@!?tCKvQ?Dzv7|@J zR(1x7M5H8=eJ!MH*(X%UG9g=*vGhctv8yaYWEYZcCPwycvd&<(?|a7YecyljtB>!Q zv)t#puj{(+!xG`%;S?Dfk-V5Q@WLna`(uN9pbyZ4n1~gPGyfajf6q2T#~YWMH~}DW za2Uae7EqTQd}(`PK^un@(wOS*Nd0#bxaGR`py}TQ8&(LPh8{EhiDwGMk_JvaQM>}o zrwNWr0kqDV)-W^E4c%FJy_$8zJtH1ZxD z8jv*MOB<%&XvGn2_`5CJ>2!jS9=zer>+kj;>r+W^`8AY~oTFJ0lPwNa6Yp4ZyR>W7 zInQm+N`T1B_N``VRC&^qt4UlR-P~e(+7`j`t)*tZGaxLqNXOFnS&L!Bcbx(scU8$c zYCEm!vmus!(D!VNn>}n|!s--{J9gE}oDq~&A+w)TjUcyYaks(fmX2HysBa(65PCsn zBd>$=hyl-VfKyom8RfA1uHTzHd;86i^SyyF-2u?7)CGZ60iWY+>tV6A&{E_snTtM4 zXjf?CVEMaA*ZZF-Tz5j`OE)pJM=G2Onx6H!lP<>J?C-MMi%^a>iGOQ##9M!Jo*U^? zTwdQFkdBgBlAd^Y%Y~$rbJ{vFIKJwm{Psw)vLsC6460k_ie?J5Yy{Kb00**<0m#-H z-~j$-43Yq?BJ_bTZXf4YR0*|0G*wT?Ar>&YfdFRy#&t)2H{Wn%Sb7k{6g=?eZeo(C zgd@3BShH=uruE9CIW`^Nrj^wA9lcZKL%2Hk z>lw_+qK-fP?kN^-uS5>MI!xCq5v#lLzApjA@sI>)SQU=gs37*Ce3l_N8nDLZp6V!V zB1#pCjUg_g;X82f;{gqbn2hhOgT&^HM%}}vT%(swUvN#vTP?hi`RKx5Io~mykJ%-w zN8KhArV6J7m&-|%0h*T3yJ;{;bJDK4U1jk-x87u(K%^qR@1%b2^LCfXc z$}MTc6$|rCvqES1huE+}mrl+1w-7`K$`QeNleIyOgZ2_Vd|WwKGAzr(-`xDTbMrLH zUZAc{Nm7v~>9+LZ`2^n8zEmEez24~V-L-$8wYPhLm!?GQe!>3;U#rkx+gYQo?`wFMhA zlTKv7$Bb<27in-;?k{>0M(?i7sX3*LZ;PCsif+5vb$n?G0b`yhAeh#7L+50xsW*GGZH#teCM#n(M zD8j(urtdE}i%BrF44kIMYI3#A41mmzempkhcdyUKH*_TD?4QbK4wRDr$ut{#G+a%T zTh60jUfwdIeIJkSs+=MYa~SHocL}k`Z&gaU`P^$%38|bRTzei`BwnTA6ZSmwb5_3G zXYJEg8@%xYj60kQ#e!SmZiL~>$+1iFl2!)ZWoZYoEk#;832i0?qvdM`+xMy5Q z5o8lFZtKlL$Xy#oUGw$rJB#Dw@?M&(jZ|#3&_pDHXTzq)mb`y#=1WVf(DHTU|E&y( z>(qQD7KBeSGStDg%*yN>TWj9#Zb*!=3AYWitB-KmxX|!hi6i#KT{LMFJ6^v9aEO{^ z?d1<*50A#iijk|t8j1gX11v*rp2rC3ze8Bm3?X)dVDc^NZt{)an4}uJG!W(e9Ag*t ze{smqct^~qsXn%QuYVu)L-Od3^3gL*$v0DW!hIZdOmF*4E38z4BILU>NdhAa(&~nh z?VP#0S_X!fy4ye@Q@ zwb!jXJe$*y$^6le-(dzeN}oob2%h$pFZ}!PH@1s`)`8sT9~nW?cIi8&MD^bN-*AYU z20mR_uuwsK0T11QXL&kM##@X^sUL5Gpo4)1Ul1W9H}i)OBB*M8f>Bqx)aY1JZjoHw z1CFY(R(CyDw;=)4MsXzmA*JZun>yR}i$d}VazU~#Ybl@nq6M9L1QVrPRjks3jyV7X zS^{lAWaxcn)4X)rm6P=8XWVH0A>@#j(+C-9 zv+r>{lYZycX%pf)K2oJ3OYL9PMuuTU6Y+sHlWzj=;;m+mblfX3lZy}b8+K7T+3Zi& zy8E(c@N{EoMUvQk%f+HKZ*#_4)l}8rkK3h$MR)T6)g#P=2`z>wVk#Iogd^5BJb)Z( zE9e`*1pC(y^4-|NXftG8`F#1>Lrq-Itq_Xa->4U=y2K|Zt^Tfbd*5MqIN(AMDt_+C z8M~Dd6_0w`S`Ej{=`aN`2_94$t`|il4nFGATyS-X&01Spf|I9G9N6I{-FLmL9 z40Q?G92TWQ4$vC>M)430)^ND{N~)l}O8STMrIQm`?=KiU_=Q|8md+Nl@ylX1d3)}4 zHo|_24_(fE_m7E|VVvcSTj%=LgRA|$ue$mFIk=R{Q+)NDS3)R8fT{-JLaKuh>&QhKE)5$XJ;}kTS?9Q5fhA%ft*JZB zrpE)rG(MJ?l%l9X|6=M0`@!7p-Nt9~B^0yEBQA|)iv~S(GZrBH=Uk$6ckDg>wi_+$ z_{Q{k7e~dL>U9LyV*W>C`FV1NEyQ}fD;j!-c%0>l{*Ov*Ku6TQxDGNTj(ZnF_Zo2( zst{Xpz3TpV2g=oZhcS!#75xx`Ta)2(z7y8}7+R{#STSZ)8P}BvPVf%e4CWKq@J=_a zWKP6z1Y#nCX@vT94Ck09*OPLkW>fQp+JE2L8iva=y7zSN43b_jCgBxMTg4#{Zl>2Q ztOo?{9y^_&NcLE;E_V^hs0r~x;>m|NBsK{=aOdCn2PBn9Z4N-7vtlqm{ciSM1$ zV};)V$bcYrLevd7L_7p57OH6==57Mj8Qvb(uQ4o>BhBcI5NXymE7a0l$C$`^=1e+~ zyqkUcNSzq#Ji%w9JvACxEv3IXnN+rH9INkou`%X)cv}jfp98+)V())0h^%RRYPZmNgcsXHo z)QMWNoe?kwTl6=4yngr1khSgEHR+c}KQz62rss||dh&#@Iy!WGO{k@MOHZt*r7GkT zF=gthBgN2P_fEr6pEAPi zQ?}^Ifl(j;nqjqi)!rZROMblXiJ&zgjy$9fB^l^R9#0`0 z*0(&(dgaKqU#yyofgi^utD56m89j`h->$|>O9-4d;wv6h`z*I90V%_jZiVi6V8f_g z>YGew)~u0L6$0z&EO9PE12!iprYa8w1`vd#6%WpnLb$}ca#l^Q*707uh0O<0EVLl(l1WGyAc;XL+(kj@Lgw-O^$**~?lC^!R&>#{0)jJ9i2*34<|;B8{QUx3XhO z2Y$O+W}~kovqkDFEob3LinIzGsbWQ1KBQ+icS*~G?*}Vzx{iB0U|sUSI827e-ZnHX zTo|#%k;aVGG(Eixpjj9vNQVO+K!aG+F+gKZL8?PypIl3h_osAQ2w&1VxMD}dXy*0u zu}2>ZVm&3r`{3g1+f~c&dRG&}lg$FNnzU^`N@%?3h^)MQ&b%viLhp-g(}7cj*|=T!ZNY zx^nL@$F$mmavrc+mz+2F?wjaZ9VD)0H~rkY+WvDZ4E-kRz=bTtD}MdNgopXXD;a7{ zjc7nWPF49w@H259V`aMMjwDf6cJK43j=K+866$8T@CVu3?_RlFD=`> zOi?-0dL7xE);Im0?E+`GZ_)XdNrOdcgP&ayQ&JKU9QIh(Gu$VoAWhCTt90 zA!MJL;Cx9ULfX)%b-gg3n80v|_i``PszP+q9<AE`nlUYN)EAwG0kEVOlMf}0*lYg8v znu+#yfsZOsrSdhZ8b8j>N#By^NbK-(#jQRt#^p%*ZpEhtyqHhSJc*X1FAG0z`vR_- zI{WGT-A{B1fER<=eyQ5z^c5r#yKZm~9-k!mVAwQ&@1c}Ugj%RIwU9iFktgqAF#bYy z(3rc5r*~_O;~wA8=!|7IX(n&CvOc>ag<~f*Dm}?;QUjA2BzFYk;h%9Z?_@A-TOcv{ zH`B;UJ|)DhK5yY_z_tfI_-m2i+PLTht_uHfa+5Q=lI*A;8Z_mT>iWmYt zMU$sS=oBS~2ft5}FODRpM-PSC=voN&33|N;35`u~h6+n@J-aSb(KPDhGwJod=51WL z_IrNj%R-jx@bP$3)9uof)~i$tWU+BqsQecIGSwX;lk)XL!Vg zwR1|EuXd2~>eCY~A2R0;WB-n0zKSmUo3XHR1XHdPxZ6ZVVz_laQ@v5*?D|~`IH(EU z#|uUswhl>(9bEg0_(emK%jnRkpZ3oNq}p#|aMu}~74>gFm$HoZ(qzG0nY4<~wXnQn zEIT;XBRMAqm(GRQSYGqueNlN``bI7tE6WG%-p-mTX6MMsPn)iY9Z_rl3^;+HVqD}1w(m5!k;Q877Yve- zKD9EG>AjXcA5<{`c{p`-5c;Bj1`!hQ{kro0{OxGDXM#QDiK>;N7LwaQQ9<}*H-L`{Kh8=d{*J$rgExO4aIc#}K1dxM!B z&`b4!=;&k5maPBFGx~M3$?;o(qmF`~wK__exqo$gzS#9o`rT+=Z1v0@d)nk?^k*f= z>W7K=xmceeR>|564cp%RHk-v4Og)3Rnq9k7#fg0hCk;;YWzDaLPlUKfIJ(5s!YIDz zqY8UZqhGYQ0U_x9V8ma4(zR#exy+Z6*HWMz=8a*SXU>!CB4x?J9gH164FVqEGMe}(LHQ!0|x zP3qH$`4K{@rd>Z3`_)E1!RgPdktj+I%DT*{k{H`MW;KM|AEG6tkD5(+{t>`{1Huxas+&^d3vN)ZywgR5rHFSxSBJ#;d{vXjs8tk8iP zlgi(q`x0Slk$Ib=Px6$JR(qas&{7Ec(j=^hy|!G!I4FS0jHw&sXn=%2iI@X8bqcV_ zbGD=+^iFKO6?)->4^@Ec~DA%ehH6(-QY}7^i;^Jj&MGaHo0dHdo_DU{ug3`K_W9H{a)(l_w z7(LlI(0E0}J*O)lX^&eT15$GZP*^#C!9RF7Um%Y-I~mbA+Bw-d)#>ynys%=F${9Xx z4ORyBHwQpZEJ!Z0$j}Yf{nb`uE2B$#=^Q`KezP~yi)p#rbMK$ynszR(!qQhWgu_B$ z2YR!2un2~(qyu4T3G68+m+z7T-C4=Wu$mMIRN{0_1R1pR6@giWwD6=$BI#q9m`a*Nb15Pg>;nhzx6QS`wWo>`g zs;Q7E$k$pjKtq|DBsV>+!IB*!I%*rGs>#G_D*O$eNiJvZ{pzO72jhPcaV(OB;@V*xRbq zPY7&i{Op^NhUb>NGUqM2dRBt1^V>BogZSJ@C+goo?=~ktE3us}+w!8V_<(yqLU!g? zbj2_poP-F5B_VopNW9UxX217Uso{v;#IZAMXo!r4lYTGhlt3h;f9)W34%4(q!T}rk zQs5yZ^aQbf$v{P1)Em2Q`6_TiX!+sn2T~mW327;=6NdJnfB%@wm>BEEFSfv%5SIv# z@pHFtn5uk`(5pE>tXu6?>L8@_Osq2cjf|HEm`7fW_se*teYfg3$!*i*MuD$ab?t(Y z31>!bz!Eni_ZkT}Lp`;t_glh4z5<%PYtf2x_Kz4AI%k@*Qu3 zAg~RysnB;iNpn|=F+k$>L$;&F1DJ^@5545JQJ)DtXa2>5m)mNuE#Sj4zXrkEULLMa zD7n*BG(~h3+H`O}@tD1fja#BNBtf2d>OPp(6X5(sRkZ*3$N-6N!1t1sT*l*zTCPu+RdUW;F0DVJ-ulZ6d@J4=T*k0@; z5wjs6Vni7A27RGPPKfqmcP3T52iHd*fJ*^Dl`glfGx&lFiKqm6g)J&r#L2MuYj?Js zS`%YmfWhAK-W@;8?K;>he~zQ=;NRu~H@$9GWynUq)z3@vXHukrqN`gYzFUCn(J5Pj zi}NK(6Jr?n2m?(|?uahpbnqRDN5tmeY*BflOc&Dghb+Z6mI1ztpbg{oo;_|EZV6r| zgZ?3hw*?6W5zqh;ue0I^cDTBTIXE4mM-S1~pgr0&E+=yDDSSMA@;hm8HLC)2NvV^K zs8neV+qI=5La-PZcbD^6FUaNigvQ`MDy_@nW|6<*6K^gf@BSqW*QhoK`y}o6M*E!E z#npSX6z0~st!4YXKOg#iL{3FzxQY1Lac(6ADShf!JH>VG6)lXEZDuu%HR8y8a_8uOa z2GH8u!90}OKmfMXdc*KhU}%AT0zr$*>o24_tgFP9<@}5HhTw?Mkr>sL_58Nu=j@do zYV^8j9*l{5_TpB5Cby#{Om3#Pe)v_>O7spm@GfuO?;&+8mNwLV#i%}2+Ae(b>!h>+ zw|C)ycNKA1B1;-k?)?VB3ouS^B|kNd9@^T@M2Cm&4jU1?7^5qhFb!nYi*>4Wb$~|$ zgTdxAEUT>$z=p;{K3|BC4lxjd<0TpHFxwlY+_Y{uJMlaTQ@VR3N@@*u`c{=&U}caO zV))!5237CkXF|F!edT+JdgQw7`{r%gtzuH?)O{K>=1UzT67~SI%`So$*Tr#*v+oSS zmLPxFp8rT0=y+hvBZu*zK~re*Q|#KveaHvgaV;0h0EJss4^*^qx1w!4qptj>*|CZE zzEZ{VKGq@0Kj)Mjnp^w%Y~H8k(I!dkl2lQS-4vB$r+daaguh|ZzFnsNesM8(?>`ko z^8J*&J_uM8T|+^WD)1g>^gCFMNFFwITxbWgs#vbsTBJu!1b1t zz_-n5J=5jT9Zh=d+0Y|HisgWVchw(zLKNhxPZE9MiMStNDJtJ1T2?B4CLml(DvT>G zN;{(?ysJwyOP)7_#Z>I+V$Rc_J*$tCi@QvVj1naBL??<(vUsd>*d_5r!AZ_1BRaRg z^n?UNm3Qp&(Qtv|c31=pI}_MTD9GE9?Ac0>kH$RD=RALV3V$L0Z6wr0GF`QG!5Zlk zeSl#WDmA0;cF^QC5JKv-|2$LA@GU-x>GzcY*|9)_P*7;EXRw|4W-KGN*G1PpwX$_S zb0w=7%X$OtzLU)x!z*7_M%tJ}UO92UNw&VEC;~g3>~_i}<@lSP#WvfUMj^a~y$~HR zjo40apNjamU`C&fG5WDE{@-k3fa#p!T%5Q6&~nzeiW^$l&XLM_R*#Nr&4$sGY=m?za)w!6RvH)n zbnw+`))+e#A!00^jSx*Ke)rJFiZ4pW!>znx`5m_AP8&N!`0tti5e;^p=WDoi9PJV4 zb7agTu`5r-j{k4-o(AdQLw_U@5?Z_;IFre9KE@-~&Zy*uf7&fpts5?cVFTMQrPFJi z#MAr|Vc+X*3amribENea8zYiPw#KrPb3V~ z?c;Qi6Du>-oqrzn z>&4cn36K3ynAz2~xw;*myl27uDJw+Mq{G&rBy0XJ14g$#3z?mswX`~{!+GkbA6MBr zOeEwCX5CYBu45hR-)gBB_;9{+fa69+l|w-FvcL?upS{Vo>pu+C4e5 zrgzc)CszpJZvGx?66kEW1!bZmdms;wXozzblItU_CI$YI5jLM+__U8}DP6AW63t;L zJgUX+xflJo8%!IHvZ(6oau2yBU^qNBRG%S=At8Kj8j_)vIBp;;by3`gXwc^=X)r{y zB8##PNp=&_a&7J!g~i6Fh_B6z_4N|)VHir@LaDq}$ffpsXV$?+($4bd z%1H5lL$k*nP7RfFTgi-tJ&9|%7xHFnG46YQLuv55D+l69$ByKhz|M;m=be7<{slPs zTM>vt(5J}Lx`Ku&0yZi z$49Iv$U47ni|<1TC&4XVWBbLVVYYhQt`#{U(BH*Z>L56N(Bz|k+MiGR^rSw3?4Y1$ z{fc`Da^e9oY9igG28y2 zhW5o`K7Si{hE%(Be8IzFjQij4#O>g5if_&m@zOJKP)xCi7GYX$WO`m#2oX6OJ7Zy# zKX^DaxJ^2Qd%zyiFnJPM$z*U(b7Cvhe|GJW*)8j67v@Ucy=%AndGgqap+V?+yP#W| zPxHrx#W>|l%Z!^pKIM>gY1^-@pQ;Ne?}3O1oy2B_=*si8h$ECWI2F|(v>GcK>dE)q zqE?lP-=JGTr*}Cuzti7$!DlX9{QgflbPCYlk)9BeTuw#%s>YDdGZf1NOTNrxWzE^V zY<4c&G=poBDr{-q_%TQlD)TwNP%l?K>Nehq*%6)WF*6IBO6~gnH9y7RrN5nV9B@IMAaez(XAadZnw7<`P* z(jWlV2mwUWX=sI!LAmp+sN010<VzBW950=r?1%SVpFz<`rKA zaSz(({AOH8?RT(cLk7>ry99cK9M-(Rz00Vu%qeN8PmED8O5pXBx>f#Y70F^!U9aaX zBRN{hi&f!#Lfjw!MJ1~Q=(-;Zj}xeF!Q$nX3o$9XNl0G z&rW>LNAw|^wjgo9e0VVdSwNYBH=$sPsrWm{6#+B;Nif7}8a6UGFdtZRf!2z#A%nw8 za|mN<^;huE?XhN_(DRO|PG{&kel@7b&$qI=CG>f3c!GEEc)v~!?~$0RfpTR%k~^a& z$@bbioP?_`3P10@`B3yQ_8=~_dcu}Z{-k|qwM-8LNIYNFD?rgA9svWS`z;z!p&By^ z!?boBtPf>Gei6}j=zR;_1HG>vQrT?i<3WF<$LN1GMZJ}c& z=YEuHVF;9jaKvJZk~tXGp|6QyuxXq>+FeK0ZzH0^11}Lxj@SI9CT|FzV!O!wsLbyj3nd9 z$?lt5UT6euwWwj@)AVHGL<1bBnvi$2MG_53*@XIFEcCR~BE$9N`q$KmOpY zJ3>T=|2^twrl)uF^GbO@JXDaQ#P*|%d5EW}x&^R*hCUHeqSCI0`QxVN_n_^yW9Y~1 z!Cjiuic>%`H0rGd7tmn%7Ny#aj;9A#dnt%~2Emn%YdNK9{Rg~L7B=tOF|PdHYuOi0 zy%tC{$T>2UDy=`UeNLagS<-rkxGpF{8An7G7s4yfE@=HCoGTVI2P{qdHj;x=29Vr{vDYMhQ z+WJ*4zC20YCA$te64axA$$2mhdzH_XWFu@ftGUBH_rzfzb%o)NT!9GFuDpPEEOY2B zaU*Cj5?b@!Kl0~wlrQbP8fp!G1OqvsMrdeYOGUYq+>r% z`Ab{>-}8ENby&g#V%g^UzJ*ZseP)t!Y`B-itC(`TcAagg5lwC^0e8+uHp?HmLU?$A z2zzaNROGqG)A@p*cf+7zU*C1CS6CWugCK~0Job1{d(RsRdQtNkEQ*5{@DlswE>WQr z8HO{Vu}W919{uVWuJ@97Tgw&fcL@`FIi?7U4C@u@Np#%ZRUJu-nzT8euca-QoxJP~ z!$-Tk8DJi>)xP6em7lcmU2CN2IX`1Zq>>W z*HL$=uv?}1`4^12>Obk{tGiSihAa2mm42j69C?RB%)Hx&nsH>hM*SRT1UupB8Owsd zSwN*Cp&j^pI;kzLZX1Ek6`A%c)O8!YiQ5LVy|r7M`v` zDwG8q-^U>tHlyF2cT^gcQdr%*Z6*-Mub}bu6 zp0I`+E`>_je+;sgz;mKi;pG?7)c>We8G}vc+^|tBwZs5y`@~JhLfIVl5mCA%1?RL z_ktBIv%MCd{)&D0yCD1>TcERZu1TbdD6hJhWey&0rLhzkJ+sk zr7CLc!G=BxykSIZrB~4>W0I46PB=E_9{iCGmM^sAPcb?HEbwkR!7Wy)X#_-4%xJ<_ zZFKeiDoQR{w#k`5?u65wb^sVAwwOJj4ie}Z1bA{e6h++juur;>xRDo7At@Pw}X14Cht{*_c{W>qW6*MUoEQ z-d!s0(8vWyCQghwl^&+BUKIcohDEsQ7|tCgOO3P8h_%d+?t4MEA}M~}%hd}s!p;#}d=fid30{NwcO&mn&=8H>ut#@&=<%3w;uT0!fF1?J5q&f5QT|7Qb{KC% zvkej020J|$uWxIvs2Ud6z0&p_#cKXKLUhVO+q!~7acdj}(K(%*lqsbJSM+S&8i=&>0<9m;PR%rjDjlLEj-FzsDgf10#0PCU$pA zU=j4vi05hgVLQ;GDmsMTwd_Ij7&KJ@Nd^_w)2|q@y0U(g|1Q2Nyd0j@2LTpo-m@-d zUB_RXQ=BXAq2HM;Nw1}q)29VcTx&*gm-vE5rI6C7^8T8Q9?R4L_KXg8lYDEK%on)_ zG4UCrVLsj=DyZ0Ah}gKut-U+6OQ+Jl{&^_`Q~*#+cbSv}fk$~Ry&0ijBzIo|j!zz3 z#B-Dqa|X-2`fA?c@#B$Jz7EQ^DeKqxHZcS*VdR64{IM&!{HCR4AG=tOn`q@HUpKY1 z;MlCYIc&4Qy3^=j|wp7+1CCX!W>Tah43q!4*N_M z<0QD{(#3Je{(m3oR&zRSe<<{|>_8KY&r06K93k*6Ni<9L#4(CV$FJ9rrCW{SU$a}_ z45_VE*gFb?{|+)e{+o3-?)C#%$qiO4PF*q4XKdL^npaE~!opn+E8E3E>M{T)55mI; z1qAfpyYKFjp|2MXsSchksGCvu`-jWM&Q-N(BGWTTW*tB0Z=Npe{rBE~EvvS_+{gWe z2t5fE>QdI#o^lV?q~H8E?_e8wk(dWjd1gRs&9|U9+~Wq={n3@DFmu4@qcX`jz#EZ6u;Xl`DQqZ!uVi?S_aB*{aPe zH%3Zy2p@o%o*pjSxnWIqwj?;MjwTOmogsjl{0+47suo#DHD7^qws&S$*OKk!O59(c zp+vJ#_Zs~mL$xr>a^01KUbVuh6kYr{@x;Z|wK#j>m{*^Ajk8C;1G?nLYLVi=?1`mX z2gGL4+ghIV;2*A87c?(UYdKFAZlS>{^TW3IM`Cq$3lGPUQBWa`AAle#8oIj%j~=my zmVim--`(^n;I9{HbXT!POXNyHs<)X2SLEUz>z{VgnqjGST+uK}I&wPP76CSfX#jzx@Zbv32kC)}Ud(ARnKJP(08Q56!P_ z_b9mFqzg^_`Wu%zG-9Rd^t2xe#C$npYN534=o8|jbz1&UrST4FI_^=I0P4Ikk1>Kc z4E4*DDW^I4J8x)58%dS%D7=dAZ9;UsZ1xD1Kw5}}CGFY@S$C$ozY#niWIfrkgL^a$ z7Kx?s64FUNk!{*l#jHE>T$@~N`>KG@&# zRAi+=qeeW5k4MOBksDKnaeBVzYKT#&d}8R@!$xiMDnlzBPv7@Z!b_#|j_3HBpRE~5 z`JSq}RNSP+N%3{y+E;}ZalhnQ=%M-_66k5M1ojC1w1GinH(yzR-rG&UI$m(njFHs# zAJ%N;kD5A<7u_F!;1kT~NUiddbF6q|`!`Bjr^!7EF*m!iv#X43Qj-5CG*E3U==a3_ zL=_>tm-MRYC8|_x4ck)+Ccy``iILPIIYxL;T4|w#-~mji&jcmdU--$TS4Ju_r#zw{ zAIZIO8peSW4j5zL55{?Vb#T*WxF3xtveIugTajU5thH_!JvMIC5iq$d5F&y@JV$C# zEzOPDiJ)s8Lj zTsF_zQv(L~u91YG)00hCyH-8AySto)0+n(sa;+!5%PaGiO2$SwoD+ZLwx9$D z$}BMTqMrVFoF6my4+Vhs-hfR{i1X$wKmxSa6Y?)La>J3h2~$q#2Xv>Z2`E zUu>Z%%s$52HzeQ=lVI3UK2vg?A(ZOkqWQ5#iS16X|Ialg^1iBo3C2*vMi>)%zKbuA z&BWQt+`zgvc0AwQ>gj*-+1yJnAbR!eE{L1xsmK#E^oJD=Z`{K|8t@*9IpAsDjX}y^ z>B!jVglf8=+wbfcX&=eF(;nr&Z5E+AW(LFO-G8ok8M@Xa@2%A_F|jG6Rjk&2U0ObK z+VrI)sCiqKIJ! za`gl-AC%pLjH$OYf#?xP7vrG&+Wz}!ZH88T^Uv1>QPgXBMwFD}p)Kw-$HwdMB^EQc z`_(LJZ*w&!;y=pRZe2)oP#(TGYO#gp%N!Q8im;YQXmX8PUBsw^9gE!Z7Gv9QhwpQn zo5M*XGIStHDTtVKAfuoz7;VcX@E#PQ3AiY+2PIVaU)!_5Mt=hmcF5R-FpRC;t!~|k z^`T^PnwM$#Nq_Tk**(cPzE0yrqZ5|HbJj8(QXh@#Q?6dDQLT3DkB{}_9ay)dZm!mJ zr7PuLrosPkI%Lu4-yS({zjc(VPq%Wb>yfL`Vx&T`w~;%l@SS_vW6+0pG9boZ2C8%y zz^9%E7x&@w91OnV%~69~O8wb#sAK05Bn1qD*Foz`U9|GId+`UguMb?Qe|IL(9p5BJ z?u#iL{PF1hNR++*k%`vuLBsj9hYrMX zoef+ekPRT|mS8^&v;m60RqA1rzREy%+| z$Wpp7EdulwPToZk(~w8xqQ`sOK^|_HB(^`Wd${Dc#Ij*Py}*fpGqBbWxt7i;usxzE z^s7EG@X@8LF^xY$qdjqsfo_bw^W^y?z7i!JxtaxW%6*?IwO+oTAtJm`xQ?!j6c4X1)W3Cf_<98 zq&U;sIoxC(OgAYg2u%y#X=S=_oqc#>Cd)k@&D>V2gBZ2KP&B# zArXC~xX{zQTACIPK4I=7puE0NL!cD5>ZD<#>HB*^uuxb?-j^b)hfjG);Eizevp#ju zM(XIypRCwz&yi6f1`m*)EhL)Q%LVHouhJTD&m-wn1|qp0h=X8)Vxuw|Ao>kAqP_RK zhS~&=p^s~n0NXjNAbp}$eoTI>!uvn5X)QbJ1c)x62VQ<_dg)>M)fmwmf~%jpYl!x? zhFad(wTU{PwS#P4K5Q_pQath6-vcqQq2jyy!h0}A5fz=+4W7M1$EokQVei3;UPuBN zz%{6;3bpI?4mByPjQ*hvVdYsU%Lv*s@eUmaJJdo%sKcDnK^z7nx(C@{?eE$^CB|eZ z#k!hktv=?V6Gpq^Y)C;YdAE1>3$H4b7TE2PJ@vz|v?WHjO-zfDEpeKdF!?>w8NK;7 z>CPL2q86p1;JJiKm%lxM+M*oIPufCWMPoZzYI?d83EpOna-TZhX3_PVy6LbMnZ&o z+paaxZy?(*JFSoxn(5iG*VpnH1LT-ZWKB_Z@sX4Drt&ocH{7qXNy5KplqiF~=~v@r zw%b{Ce>n*IzE6`*?~c66y7cvEhN<=Msw5LiCM|Nb^RCm%>xq zKNj7`iAwr7NQ{bJh!{?=f9JqKpF93tBN}#)LjAiz`&(}c%3IK5(EY=5qNjQN+_g{7 zQDEC540jA%UtPN?jTeR)vibZk4ikmM|#E(nrgc*DN%`(y`!{Z5Y=IQU|Rz7sd zrVVsX+s1v2yy}QGr-xs7;vz?KnFn+BKKOTDPjjH^d#;Z5rny|wQI3- zCH*`qMLxfx9{~t4|Ns3FYfxOb|6RW2r|+0xhn-o+t*Ld_KIeG@FW2hx+g?dRtE+ma z^4JH|s}lHZGM0;G#O$&*PrQ--$}5*0bKQ1VHMOk6EYO00vBXXW6t?dEN$e#2jG&?sU+XQo>;yZ~Po5O-9>JuJ?w^8n3HKNM z-AyQBOAB=UawQDC7ghqJbwT^|O(17PE*&+8cFlc}pYL%3Zh>|;FcI_+8Z4y3hfT6x4i$O5x=9&EN~1dNf&|}jB5A^qQHL+QVx3+IJKLh5nUA;7w@me3 zG+~zf;hFeU`;LK+p}@+Qp6e7OxBHwXdPlQ?jWP5Lz2Sr?22RDAlk4Qk2?Ycs4zXWA zfQuSZv31&bh+1t5fyVUvEYD(7W^6R7`lrX93{6@P`bN<2npWl0Hk2fv3!dId{-Pm? zTl#?-S4mBX%a@Ka{p57X$&&Z`IZXF%e;)En%iVxiP}drEgaHMot`STa!9k1hbf_jN z!*-NM1kn3eDIh9HG+YCYN|*x?;H$Qg-YN=ipP;3?7@D;e*~&ytVkk>z#6cW`wO=g!+{J22iu@ zx8Qc5EQYzZgb@=3_I>nBF|aN!!D&k++!4!H?m?WPwKV^1Q?Z?a9k(75LP>;v@ZlH= z{LE2>f8_R38G03qgQwiS9`~(2@9Nw(D=k~rejc%2MKpc?Gj@8z0)A6wwKw%~{kdHY z-^lDo=4ZFj`rW0+fClq&f|X$C7?G>_{$!)vzlCD?FhKcT{ZwS;?m$6$hMgVx3)_k} zH$@Y@&?@wo`H(F_U}4%A$talq8hQ*~CKiEdAmB*Lb*TNGR?;`;n3Wcwz$iBJe#*Z} z!-2*|v}@+!x2%UmZm+Y5t?Dl|hy4;-*})hREX1^I?W?!FEiH^A^W{&9c>j>N73MO# z(tPh)>#$(;m)6Lu{>wnO7}&bDT}6}-%QAKQYZ(49kt4%HQI>}4gMt`_jx+r)PJq4$ zYq*wq&cI>bvnK_mVVFGtC_REE)jaS` z23?ej{Z8-Dh)q`su|<7~LnegKCQbyUVOxYZLD34m1U1Bv9F1;hAykYMBXm9z;6F+5 zjBzOCz~u?(?YF+nIzMj+|QeV)p1mhJ~%mGahW5;r*i6?uWV42-PH`~kKTVP zz;=2{@nvJ6Kke|YgkF&P)YEq#cktusBQf&E5D24CQ#q9Hn}SZ)xhH0wO@wCQ@F`GC z!^VoTVcWu_d6>;y9(l2sWspTH2Q|p6AGxaWw_PPU*RR1EJy3UMt$35x;wrvyya41| zQ-`C&d5%)1M29lm^xd}E3#)JyGy9MZ{|&%3h(O5j?H;^<-R0W$XLOC3J~K9kVZR~Z zzH1E_w|ja60i*5L`Oy){Brt4rZA`A6sY@|51?c& zK9l}HY%I!OzxLRb>TssRKRV6ML+|ZM4l^Pk-`?>3xvD!6t=9I@o-H+7>w)&L?E6>T zEKWje^%GnhK0(=kJw=y5IsO*9uLQ?f zdE#!Kk(5OFNhynGR(+BadJflD?cMt_^DXgwS zHa+X&mXhE#V8XJ6Tx$ZZlOGwAQ4_)~kYL+dSE{-TYT!askV8F`_u@PS@!F|s-9Dw)0! zEP?41Z$gWtf#7oO%i%9a<-aDS^_KzP&Qc?+Jba2YC?vPbvo`xJN(lC;dV-;@6xQ&h@D%%NJ2^mG!F~Uta zWFG5KwxaBr4vukf-oNYZ{(OJq@%tlm()+sJuj@6RuW^a_+e>SYcp^naO1)!9&fL}p-rM*oCY#rUn;3&F_&q-(^5@XsFXl^j5@Ms zoVKf#X?)AdH*Z6YE$@mI90`58YMaO1YWnNb(YpFV6QJdtWTox$srNvin$T72 zo)5I%l-z<&{p@(}0dJDSYJ7dvtF8x_3*80ZE2u6RRyEzBGh*t*^fZHu(fOqXZbJRO zdFvXBge?;Of7#geL`Lj!7H}qBLzHdU$+o6RRXcdaAY+7J$e0fjO3zwhGQ;+W{HSof z7-PpAKTi}*cVWTohOrDghq&fE)Y}WAPYgSE>cshd8Zv;y4m1A+CyH_C* z2!+lM6<0*XW4=oodu=~jwbAs{VzzjQ;39wP*!{E_suvqEQLVsvYFr(U@$z>kbDwf{ zJj>V_GG(Aa@A`0n^kq<{2^wNSrh7Dt0jq_|P1vDw-rH=Q2I!V#K&`id=BhHH@i=w7 zb&QH69jH%vt3!U+xOP!r!RnPgnR7Y1FN(GP^fPaAMUCfcFUc_qPq%~0bM9xw7!t!`2c#LUkx_S6j#_gbM}A;g)Ww@w_YE-W8EIRa)BLlt_-Y{jGi%n{oErxV(h9 zpPzPYmLvB0tGU*Zuvgn>7=w>>fZ1X81E>33Y^&UQ=OR5W;4rM(muvSOXW9gGl3wD> zK&mh$=|_f_Yz&foJrYy%w-i_wHw7)SaH(-UhAbYg6!SAn|H=zh)W!PvrR0$$NhT9S z@uM|FX}dWO2Sq)*3CK%O6{2YYS1GGrnE}&}0@V02)C^^L?KFXmQvD~?Ppx~6`Ziv2 zh`Zy`C1twF&N<yzvWXmRM`e~%Q%bK8Xv z1jr|x`X3D5Lie<&G5s;bp39MqzkQ-Fo^0Z2QG7dl!#{0LHIBH|=QYBUq=&C5u?NFE zb)TjFJ6x@oa&gJjv$UkiSD<|HY>M^g+&eh_UpMWq6rL9qXo9}yT$>`L0j0>?Tlakh z9%Q%?1)QnlFs)!Y$f94HB>6MlJZ8wdTi`0@zH~$>sg(Wx)lZLh+O5n&ojnF%>j(KHdavd(X6`UVwIpY@izUM7IQpBZ)5K>y_#2 z{u5ympBQ}m%IE6_0M<@GvkyFv7YQ+WKG6QnRm_}ca9mC1h|sZQ2J^LR?Uj zw@OT@B@YZI^2NJV_|KNcFaK$gTUaUDNuFN;A&Ygnyu>rDiYC1EruhusU*sJQ)K;*5 z0-Y}1N+Sr!n*QE;q>kz~_&-kfN}r~Uf3xVVWu1Tm{=iAF!8TOIvO)i)Z(Q?XE+*{L z+p64`J&dXHu>v&rhhOq4O2X7o!UNZ{Bk1YP4^9$2=yPOy4ok5jjh!s{E|<Nlt4^Ksl%g+#$$+cr^9RsF2%6e0g(pG5oS^@T)j|oos z%!rJIZ=tD9X&BETr8Km0ikNQhBQRm{+1m4IkC|J$=%Vofq$&hripnv+#r4v}S{Kk_ zSNzO+DF-M!aL|Ro$N~^mjcMSBPJUy`1<#YCL;e(#JHNMYQMadBK$gcNb{L%HIwot|~@9&=D!;3#{BD{Ruo3(7=H=HZA!^qFDu0+4|^ zzm0Ad*zC~1fJPJbb;>6CPyK<>15Eq;1z4L8YQ|f5FR?SZEXA~-_)goz-A{gg=DX2smPluGryBObZkF_rYA_jyuGxhisF48&E!$!m|E zM9~wXnnQmCSS}B~xEgzXZ)q%nK<~2CKsG})va_iW5wr#e(^QUJHO zvno+GO3dH;3cTO(_O~x+r130k-U*1AN_9+g#+4`0+$CrApTRmKLx~Q$B4R@(mG8E-^>pvx4K|=SEfK^kxsr9PcKIMh zMrAse3-Xv#2s8aFAinQ9w6SmG##b=!ft#tiJUcf4Ob&kF5EYMuBS^oju__(+L~4-T z@tAyX_2FLT2b$V(J-FmxE+}EcOPA$O?2QDQ!F$p*P1RaC5{b=&ZI}G$v#&fq{m@ar zV~1$MQ`5;>HMnLes}h{Z# zRljd~6D+3t(6pFYApYzOn}8IO{m<|5!vh9$pACYn%s*F>gb*^kS=nRChM|x|L|GHG zvB$KWcwqf@P*Cyt5m2Tj!x+Qw2*4l&(36m-d%^&ur$!y${B`G2FDS}+`vhV2Gsp4R za^>04K-!{}rs`#3u7T6JG0$((aO0ceaoo#t&?_PFvON7jkg2Lr8TytE- z!WL-$cEJtGhfA9zG#!sVmA^L9ZJ7j!if#m5MArg0sDT^u&-N=LS)T##!Od+8c<)O$ zV8?A|Z(da!C=}sO3}m?%s9Ak|3QTssux*si#LwR5^ws_9>>M)rot~{3&#t{(wBKcQ8J(w<%#WJR@^=)ZN&oU|vulP< zH$m=DW%P1DB?KN8v~9v z0Y64ZcB-l|_L$Ma=@86I<6`ptOt)j{QdgWnw-bu|R~~}h#h^O=;Dg_0gzg>gWEEF6 z<=PjvT8W3KVDvjjuIor0UTV-D30<25{m3*+D|^F#G>BnId@jL$Ge)ci(B~ z1$xI3TI!Fi@o0+`V==<>ir!64W3*Wx<#m=iQsn)^s7FNL1F2&~9=lxJS=Q(xbC7=G z;G^B+aTLGZU(TAeyW`cr@%>;_bNrSp!(!2y77U8OSayT-M?tV-G3amX#clv{R;c?T5S9cvxZu3E5l1p_Bus6)?&FeO|vwq z#VpK7QO6qBbQ!fRwq0lEum_Gz|K8yF!14mY%2qHw|Gpy9HC+T*V$@kVH|C617;{;| zOb9H8K~nqgoi0B zuJLW%hm-5RS6bhGS$vpx=yt;EnvJ<@+I|T&3IfDq`UL_HrO1a}F@sie=9XsNPd~Q# zd8LhoyNwOmjGkWJz2)mCG9b@mKOr$gXC5 z{lMLn79~k8k#A&_(eSlc3sWH794j;Kzioa} z1g~KMEZGW;Ssv8iT)4awdU@yHK+SWYY>N&mhPwiG-0%=LnhGBbG^sh_|DWOW+a1?r zmOB{j*s!89ckpQ3NALPzWo9mRMGb*4g(r5ZQUPTFo}=;9>-e&!hIKQ`&X&_2Ar+a; z8JVq!$=(+Y`5n7j!<`Zo-VI{A#Cq_&IZ7o0jNI2TYIYkS{B5zDUJ=5yOwHn zJX83(lIaBG9twqYK|n<@o?lku@8Mzja(Dy}ZZ=x)1!?TE@gZ5Do-yWqr?&HH=s^%@ z0Rtsr8o=6nzn8!yEq_VxRc~O?C#;`psgg76nqaNICt+yl{hmrirnA)O%^SA;DxU^D zCW{}%k(IR~zTd;W{Wh>B1KeSw749D>CGUs$=)$>?b|vXwc(oHwMhEXR_HtN9%ImIO zcA887wcAJ8e{=$GH9M?E+$C*r1sZ#b{phXw!zQv&e=Eg+a{3CM zyUCo#8sw6K^K#2|={h5eajOsi;&)3puLS)5P^hZ*B@Qge>H`u)`8llJ zTqB5`4K@-96w=a>_+57@{(W_)70`;lnldj2@YW#eHMDdfUfE5b{dVgnqm01h!&>$v zt@G9skoGdswHssISgnfV6RV38uDlpzS7`UB!LV3+`Oefozdkq5ZJF$SY%8%F9`y|< zf3i~Yu`^-II(RF6^3^sWgvIaH&&SW)Hg?LlNS%L!N{)_cApG|CAi`oQ2Z-K$e*%5D z=E&&mj|u$56Jh9=YU?_{#!(?zl3`R)#5pBsjp61>@Y;Sqr#iFo;Mh(D+6o%pG94+L zMlAdWW9$oT4X-DqnWAM}*(Knv{iqFaO}YD)4f>JJ z{C2Xbi0g*1c-DC|-;f0FyEK<B=;{3z}@Dv3F?KE6gJLxmFmiEuG&1IvbOKi(%`f?WzA_Vvcj~Brelj9Tk zca3x@#-Qt?JtA;QfL2F}!_7_}Iy_!~_xU2S)5dbg*4Xzx9`_d8DzyGlc|@Bfcfs0$ zbFXn@c_fXu)V-|Kz^Gqh#;AX=Q(F`v_6KOjXtCD0)5~{w`o3rXq!n^Q1Fc7Z?Y7>X zRT^amZAMP`Wt(?<<=28t#)`Zy*Y}S71TB-+V|5?h+}7bvk7XQ0WZX8=5Mvlk;IsXa zTa@*6P-xmZ>b!@(H(O4gQum)r2RpT1V^3!aZBycY*BO(0;|@Xd#zJwUB!Ug4ERg+!8f}1lP&ZG7th#%lQp`DFt90%?KW$)%YD%u`zIqNi%dFUb7IgLNDFNFl?=*Jc6j5 z^srUq@ApDMNRZg!Vi*Su3YaBM+k!5PwsG9gXN|`mDk)rk&A0A^@bV|WyuoCcr%ayX z`{w55M-DnDrLQUdudz}rCPg~K2Zyc85R`J<`-G#lP0w$}BAl^{HNNG~o3uJx8b3Sg zwk~24A1q5XH7i-E`+HzgMV@+0@cfXKNw7=29m5Wp}M*;p!`Csfa^C z@fqrqOwK?yR*>`-Pahn4x5;na6bKn+g2O8e<{Q|KOppp&oxx^ETN5Bf6`phSl%lOx zw48)Oj;qB7H?0r0AqO)CWfNY_yc@M|SUf0J;TAg6HB!83KpaeTij=}ed6%Sh9bAOk zlH_9jN^^-{E1e3oZ3Fb4Uad`YGqygbsU@hb0-jHN%sSl!34&F}7uE5uzQJ3RWuSv6 z@D3PQ?iIl_n7Qk+)n6hpJjTb8j>HV%UWT^yZy1cf&E_VX9>`O8Xg>Uv;eRDzK5Dm% zJ07zY5M^JWA$4uLSLJPR8-+{A$8wo70!7rQ-~k~i6)ymU7dZ|8bmx#&1oS<6|82iB z4nwkIK9fT3 zC$HXQ)MRt>Tk6NxcX_|HnI@djj-#BPxWAje5(ge@dWJ#SyuQ1+*qfLq48Q8!$^9)r zTO=II8E(5^w8FcrhuIX&Ao+w zD58@&Po;R+WopevWzgKZpK70gCjF?SG40*-aX2iTz53r5!eTSzhoIsEb}Xs*+wzeu zrD5v}WtW>wM?bbz$W+pt<2s@bmYKRnsMhQl-PR{yVRi&t}#M2#W&|?$knPdo%v` zijGC!uOEb~y9AnfC}iEr7Qe!c>ZW~*4i!~;HzTh3p>otg!K0Ndeu1-sk|m*=#EOaa zywGi2?9cGokk6o8A0%lRz5bb5LhO#}Z*1Y++oXRnWN0q~GDbiJR=a4}?}DR-6`DT$ z(Z)TPXU{V5LI@N7V+DMk#>0n8D||+{h9h($y@q7-#}g>*NpmCLOwaz&xv8~hznP4W zF)DC%aAOtrt<}_8>*9VZli&12jPbZgPNn$Yji-)&!;3nr8|$cj1)rXqntOlO`fmgn zayWsOs$`gvk_v!MjRG_P?33x8xr&=c?;U1Rb&N8f^}`gXtCbYDiEADyGR6r%E2MC} z`eR^y4GFHUFk>p!wG9iM@1k4k9@ZI>%otK>d1tpgB87_G46nPsX;r11;G&)vasPFb zi?97JkVnNVhO}OxNIY$pbtIo*c%)1~z5dkn4p=M!V_{Um29U6+!L)*GNvmGv+MQM#=MV|Q{BC_U^d~U=IZhCZsjdhm$pY;hrjOIPH zjQ~;VJ)tBW5rKS4+3oUCqN0Uy<`?(NsiC1pT&3BKGswl^dF!eC|EYv6bk!5E1M4s` zhm`HbD}erRX8A}*Gqgy%%W!kKe$r`c3FS1JmN{-W%PO+42444k^ zeK^2lbAe6Tso*%9tYq!;$%CRB%&rcTFT%%GOTOPQ`R(NML8#cAiaF99vYR zceJF^P!SR5dBhU(4Zmtzi;Q-j|0V;DKdqK=4txXKaocI3M{IyI8?QJ8jwXLJc#CAg zaLZ(WkXm^>W75pc%g4JWo9EfQwuZS)hNjY1+Dg)=B@{x(@Fe`1JY* zPs;0`h>Evo3I=1&m_*CRa)m`*zo=dF+y-aIC@G0p@(X+OOw4+et+g=%MM-R{0JjI- zmcEOTdB}z%q7|srb(nN52 zr^cLEE>`O0mrpg|T@=BM+1AgnEo#L6Z#O$4b_Nc}5eVzpe0&AMhkx+<-){2NLz?=O8uGe;}u@&mpnN#74 z`7k)jyyhu?ON&P(D24$Bqz$`B7vr)UIhw!#Q#zZr14T1hwk$b{r=r};*uZDA-#y&Z z52rnTu8H=P%zIXLhW`peBt?H>%)&G2?H0bz(Z~dVkrv?3Xjw${>HlpaODW4{D942#E2;~0gjza_pa$j%UFH`=bH zy6ok-QeL?Avz%;a9-CiLDEh7{yS%!_x1p-lyTG-H54<5vWC|aZ^ug_X6MhVK5y496 zwRG@bWZ(YRE6P*go!e1P-{4^_IFQw}-d;SmxO+d6ZX828Au7ik=qz@M^Aag*veUEh zSBMP3HfmcjKV~QXi{Y!E505RpqYWWLxkS{^SJo_inf+h(P`Z!X64uu1??!jCP4Y z?rW@ei9q>!{BWk?Csp3Yw6&M%eq>SmqS{NlF7%1DL#~ySd*cITpz>R1&O^$^Hg}BU3t63Bza0>-l%Om{FGP9XZOI=k zi+jV>r=Q8CB1P_ZR^zi`S@eph&QDHobteGa!E#DDB_!9#qvgDw=&5d#xCp?yWlCw^ zPlH#2jXkjXXBi&Qke8?gtn8yCD%pTjAkhp)dU?9a0Fu4#E zD*vzDGb6!B-|O7?$$zWsW4NnS1p!|3aKH8|%e-6o$>E5D4R4CWrZpaoIUfq!q z1_k)D!TZ>?_0|yN1|28gEV-QR4vlc|%LXQCD$S3HdYivpk`63X2e&H&`=Pd5wk#k& zEP6ezxxGMm29aVU`O@z!CmyisrM7QTjZ6cC4?nyd*{-=y=w8Xh(^v<@Xm-j1k#QIUa`xfN~?rW_X>G?e2GjQ960Y4nMDhL~T!dG=DQg1%&oMqm0t)JCJeq!U`N z$Hf3uThNUvU@%6f-JVxo?{fp@_?F ziDkqzA&`72t1uR7HybL6j7OHo`L zX$B$6Y!$*h`X&UNgL~LUtv@kx`}TaJ){-fAH6L&)5;t#BgUQ#Y!Mjs_qf{t(&i_LN zAUU)fyJ+<8xG)pC1 z3oPxsWvH14zewfRFB&DNXI7U_HY}1HiS4(+lac*!sO516^mT1fy!`D?!GMo(ElSnj zvhO%>_0~pZ!EYdyK;ZG`g>20iorc$5*HNs6o`L<8)V^{ywQrOCla%vzaXjta(@!IaJD(of2rGvWGR)mLe{#=utUuHe>BbHg-v6Olt=W1ub*OsaLCgB^| z21J_1>R(?G@f7x(1LA8O%f71o%voFOh6_ogc=`OuR-L1hH727Dx-aJ+koL@{l?V+&@boq@)f<1>ygBKZR)khCB*ZEbOf4(AZo@TaRcZ#+)B|6Y9&e-ar3H>x3< zWB54J+*~qpyX7at_jXT@to_?uWNyjJ6C*@~ndl!le&&M~aon()02XBM7x_#RlvO$b zQB}n|)u}HZo^2Dqv@_7tSsVKLV<4?@bjfv3aM+u&0Rf9_54`&eK9=xA(#}gdM zCvedt`)(1wkB@jC>_rBU07)AKUPCU@1olrYGysaQUl$PK)MG@-#r{&_OXB)}ZAT-^_ z#LdnFHZ%)iWD0KZxDJ^DsyQ;URwA994lFB@njkU_%HATC94~Ibgk;)1@Vb7yguL3` z<1W~g&zy|%;raWJkVHMlNwvSNM*^${9=Z zpZv0GC%SpKe*Ip`oTF@G-H`vMM6t(i%q2Lxl9gd_iN!HqN&(5V8FD86KN=N|9>7N^ z)n_-K-32W!B!Gt~Taj6!1j>VB$tDXi ztYcc&dD?dK=ZbMxgoMdGR?k(i&#yRIXJuRTYS`klL38)4sn?Q-T0egncf4uK#5-=t z_`CdeTe?9v0xOj=Po=+|hxLL9d>~oX1?W9EhDYtdy6V&}57fH%#zKOD6#k#?KHwkxyWgMLn5Mz;mJ3&4`TlRwVJ-640aG54Omfd&TU9J_SY<(iwbPt+&Tr3j}7v z7%egm#0dTMVouR5lGX}0!&;5$-&ZFzI7$s#zAYcT@A;*1;ar8r=d8GI)0ic5EeUK^ zF}8mNGh*UN%!nZSx+{r{?jlqKTyxVt`7WE+N}&I-lB&Btokf*l44!2W7HywQK*E?`O{dvp_Iwt2c5gi>fu=T)eUhpC@=JrZ?R;7#P-On2VjD|M<@a-xLaB}xCY zJT7Q!GF@^*OH2H=rL;D0yz!Gec5)80;*3u5{LiXuTqM!L(>4!udel{qANdtcpJ|LB~E?<)sT)%S>wrC_Lq7sk6R}zX65L`)R+z$y*%ey zd)cARE|*@$yR9hHUlKi)bWEwjyRL>+uxsAwa#plA#WsoTprCJunt;D`l|b(ZG7Lk0UW7Ky*qSMkA7`OGhv>tmk{DoHKU zwI#Z~VeMU!wU-wvTz%7X3pnH5lY-B&myCTbVs#Q@_SbaaU|BmxMu^Q>MPt!^)q-ck zyR7gTKB|u3Y7oMtWr@J{>8>gm8{z{qopuS!q0qMySP5xTA$l!P3X~UH6o67>)kUx3 zCvO}@UC$muJ)Q^=Sr>uLoMLETyAY!KN+bJ3DwAvV7o9aA2z&GO~Fu3Oe3-i7YU78kc01K8z zD0K187KzGsB30C5UHk6eU5J+a^X`0N? zg2k8ta_+F~ zT=su%yK42$f3TCSY`V++b*_R4w&42SYCZSU3sz%h{^=oWGehm`=oGC2!w;<%uLM?- zpaF4ua|>F(4lIrw-nT&i8DSTgxi_qK$E_J|#UhK691a{7d@*yHcS4srL_l;7}kYK&9ckdNOKE|F`69# z=j-v4tT>uxD5&h>yeQ`j7e=*J>U?;HOZf=ix2(dz5cpHBMmbw}7*75lDC0)6NNSo)RRN3+zs#oktquBm)JL$XH7 z;@5~b?1*}LqUtFKxBJ5yY_Bk@?ca+7n>J$peodG;v8b-_;MP@K?{~j2kp+&m2pRsR zH``NU0b702*NLC)C2Lo%*1mO)ymFi>I%u zSFe=QEhm2jm8>jbLuFx&= z@g-9$>)u33`7@;@e|EL~rK6K6Lo1RkWdXhnc_A*0S$ffa-f4v%1;cTq@v=G~_h`B( z;D{Kj9n~A)SV)l&A82>tvr0ZZ#8kr66m~VZ_p-mLtEKi4sX=><*t^dfqP0&B%p~DJj3<`iyGMoobC+l&VeXfs|)85H<3GdbUp!A4)7Uef#~f5clv30w}eHPqa;GIBjGxs(%)c za6eM89t6P&{Gn+_vWA7X$(D5hi;b&eVr)qx$3jthKjj!hPs5)UYpRvo*&Qm&wWMx_ z&%^dj7o=UBNhl|@P(_Qgtvz_G?2T2z;Ai6P^x-7me~(T5DiL>}a8({00NpcA_vd!N;^CywTh`F~Z*C)}O6AO{V)EpG?|a0>1nn z&UmGdx1mLG!RP{`cC5~UezU?B>sf>0S zpJc{G{c>8hTh3F>TWg>X26>9QE2j9go9Vucm&c4}ebW)O=!bfrznL#{)sDNBaIzXH0z4v(}jdN#RUH_ zaQWr=H1sAO0%WrL7zRdJvWgCRT_pgaP-X%5>7AebFKA}QW zTcifIv5TrU)&fJUc3O^u1>c6QxV`)A>Q>6no@8)P*nQwkz-u$@h9I8Sq-~0A17b9Q z5TR=?f7xb>R`_#RvH#wYFqqp>rw|IY63e`; zfYO{R2Mb%6QvvFRu5cd%W|H-BP_N2Pdr>dhX|;xYb#zZra--v1&6QT>FE*VlsbsVC zn)=PBRGmO_ctbvxOuVX)uwJth8tMI1;i?bymzakUAxC*tz*TN9D@^oTO7pP<{|MfZ zaPB8~`;wo{rCXF8SQ$BWz}d27LYgcfJOyS05(#K7NOuh%%rfV6;gWHW+!u4)oT%ZW zKJg|A47RO>4(yUq!tiY*}o*>zMH; zw0oj81szGqHA<5m_=h5HVfXlf9o7Lmw6L*j=T#synKPS`6Fht+6)aAuu2BNt#ybjS zfztX6eq7lmFPNzT#Z?(l;!lO1QlW=qq7NjJxt5MzyU?>VvKWe?cWTmq9=tIVSB?~W zr(>$cYw>cqlr=sojPI~j?E2HnCnmzb#LPKOQx7)8KAW#puzH(G8DNVmQ!2m_wya3T zMtz$GA++(bu2`;(V4%qei(j0j{!2h_QS1~fC(t2VNI2C8qRM{*sE`k`*P#W9kbU}# zgJ{5fQvl&YbYZVyu1M7~SL(UMY%J%iV8Hp!ScbB0@26mm`FSu(Vvwllt376HZ5}C~ ztmiM@L7$rc$V7IqmRhrF)-ema1h=kM)miM3p%Ct4mJrvXrbom+Pv|etLMJ#9p-fFu?0mjw*JFwZ$r-{LIJmu_dBu zn36^JdS|1eFBAhzpEh`2?S?Z5po-v}df5hmKbrAI@W+@DB0C`HnBJ1>$j3w1rl}{N z)&!MP4X^*{JwD32qLJdWJlxiv7dqmnx%q@Q$+B+Z_ItM<+II$tm=@+y-<(3H;EYFu z5eP~GjujM8yftYUDJ*aEaj!XS$k8NH*HY%@3g|c{(S%32TH6(KhPs_#lUXCp`E!Z3>Q4${V8DW^>ie3|9 z|302+7dG8bUBEVR=eidbkqu2M5IVZDd9m;)TMZ_!eaeCP%Yq!)Bv3Q@m9+jF zl=tix1k~xR_3C|{bbM5-@ARGF^V!Dt%jnX=B6#@#>ePLJYGDRpOb7ZGB)#r;??d+% zbuVT0?E$etynF>XdzD7OU`V`)X*#F<#NO4sN~Ww@O5)0x*A#}-+Un5rA#t6a&Ud2V zJ8J2>4Y8t8^T8_SjJtg3xydMcW_`4sInL`TxPGGuQ+(lyybmbAIdp!>`zd&Q`juTI zfGX`l_~Hs{DwycNSj~ECq)d>u4_~$mJSKR~;fkBR+?Anv+te`b<7?!E648l_oi?kT ziyYdEoC9T;OPQ?XrxluZ#n1mdrNus;P7^zCAf9Ej*Fk?1b@tnX*)RHiW&~W6?HifX zcZGdxN;Z3KTb_pTGD-1~wFdW*oJlVjQj}#FwE~Nc1PSR1U`#+66t1as0i+JRw@D9# z)*{WX>)2X2j`|j-I#&0X6GAIA=w!CP{FbYWJ4HlJFLa74OJSQjSc2vYW1F2PqX>LF zF-FF(?pdA^5O3vvIK>%fubSmf7}2hiM-;eu%dduZ$Fff{O_s*fc6p&36bwnbje-~& zy#T^3s7=}78ensvJ4v#QAo`VOxT#-NRLIB(hzhP(4W#FhLzroD=)$+k{6mKbH3i5t z&P(EH=hr#ok_IJ|486NcskW+xI3wPjhS27j;cJPswo_5pv>pu{>Pv~2CzbNIRupt^ zpu!J2w1UgyrA;#JVBlf^u95nm&EEfpzcW)nO%L#Rsr;AH5Ng(3sIK(g!t?+q1+CUo z5lOZ=;m_P?CpTw)t3lIes)3y<&W5A5d>sk3lQ#Q$<#WLeQACtL-GsV)tZ!3e_TqNf z9(FA?il98unUI6r3Eyh~V<8d2k^v&)Sqh(mR{;qKrQl0CXm;D@zI}U+$8X_(fm;jE zzWt~gFVU2#xv|gMh_tK5vm^KVwm}41}mP@{12PKgr%dyXocIHYUZT^`fL}1ei~?Hus$$J zz~^23uT+QtE9@0=F~D;uqs?#yzv%~Nn~6F5G?%I39KH^-9Z6q%a$}jJy*69LX@2LR zgTuEhv%KP8VEYJMrG!|;MaM%C*Sv+m?XN?q+BBCIjrC@=>q0NKkR53!fsCP@;UE@7 zA&a2=RszV|xY+)uroW(OzM7v0O}$U4OSTHG*`4z<^Ywasj&=+cR(k01Yai{B=Rck4 z#=R?C-_q;~V~X?Y(!F?lLQwJTu*jO;hj;MHuCr-RqU-6ydyd|s|V;J{wqx_sP9g@{iB zd0`mG8`((||JJJb$eNleCbcsHX~(haGYmc~MlX~#zaRA7P_)Bg$+d5^GONX~s;w`< z(d`GMj`pCy)`F`E5BxnM94o=P(>6Nl7{_6yP=UX=5_-7!8)jm=+RgAKZ)+9yq_;5g zdO!7^U^lbaRlh#$z{K9o=8V%4qtaNX$bQ%c?pqgy16Ths+bnaPOyGHB~)0c{V zrmI(@4FfTL7ArJ0=Z@bfA26Bww^8$PM2g;LVKAPtm&mr`d(t9AHIr#Q5Zhy&Ws}pe zyJI~j|K?q0)q_C~S1oUiqMw3xO`F`77t$usASYJ31H(Z`pc|^9I|IsV`>~77`17!H z7ZXVf19l1&OQe5S1!+X!>$6ZUbDmbaV$c#io5XjgUzftoH*&dFhfO?!wcJ&a+uYKH zdnpMxy6)Ey6_zJ^k}maxNQTJ?%zSo5#0*_?GYyj;NIyJu$nCAhm(A5VMUzwL0>i#I z8BMDKhg~X|da-{BlNaf5p^lZn!aT_5{pNscG~t8C)cVx2LCXB!&9S1=9IArPLnZky zyRg)dFZ(R}SJ6)Ge6d1}ny;>Nhe=EhFZ#J3O}^nznC2HXVKZ`1UP*fGlFpx8Q#Z16 z#JIGnb=_A~8@cQpqTFpTfcPf)(0^~k_QL9cQJZwRA~Wg#w6xIvcK*ZXUaI*9^$7Ucct$%Hv)(#BLxfUif0 zZvCRih2sV!THN-EW!8!i(#Sx+^eEt`%C>rdZ?sc)6C zaOr<+sfbpGWJ94lR=cyBql4sL^6tJOAK&J_EGucumg=Bo*PSWkK%97*5UGAu?y~^d z)i)8`*@66IOy#3x9YslSw{YY}4w-1`b-D=Fl)4<19uhS3l}+d|N$?r^?n{lBoFBHw zMtJwK(d+4RVwx@??l!Iy>ROZk2NV0xYXOcbW5iUdl^zTd-TN%^c?SAVoAyY0bjLM3 zvpZgF=-0N}#?sbqvRJdzHtrFT>O)*l+ZgNibR~fPzE1%I|dYQO5@_@_~O@ zDF>ch!mueNZ3{U%auD2@`N~n0L-gp)*Uh&N8y!N_j|mf{t_1%HwLg?Y^20go*|0{@ z)o!&uZP9u$iQOZP|NouB1`!0Aq}`n^03<%9NZ6qF=O*dMU*~99#hUB>7Ky3f?{N3$ zqRq_{zSnF32jVt)!y?s%F`z^D;Bl=abzCZ`E4UbPw@S=49|Tm$y|DpcprP*@`>_ss z-%q9Dg+S?qJxGMsE%89IpoL^xPrUEMv7Wc&#p)W2S`E2u`JS9i!${NS%^OE5 zW~tkwhBYg2yk!7eLq#x(p-D>)$`K>_t9Wh??D8vLl^m953pw$Wn`a$IoP-;XOHjtcI!UmmIe z^|}>Y$u3`#5q-JJ9DQ?|U!A#z|FrjD5RaERjr?b~qSti-qc-6){+CILN)cl-Z(oS=$a22?m|>qJ`3aPb{#V~Yk?X_gu)ir5}1 zwIK%5z{I!3als(JikiS;1!<;Ug7jYwlaHor0~^r=j@}BNb@VumgB&)^t0WM#ltcNG7{IYyEMp zXWgDQJ4cF%O1jrI{ioLGjqPR=*g;_~*C!6_LnG@g!CmEpc#}k~AJ@c^v6kAuA8|jZ z9?E?2BzL^!nwpR{UIWsY(6&ESYVE~ac8)Jeh?+hMbU~%#rZC_x*qkR*c=vY^0qu>% z&4V=QWZm6=iyOl14>Ykf#x{6_#;7dltT3T+3OA=*G}gpQJLnF31eQ(&YQ3tXbYm+V z>lkeJYl0rohXz1-Kow#@LwohYnldQ@D9%WjYOqW;viDa679CHX5Q8);U866<`f89#K~ zPDb2KH@CEZn>-F0ov}(TYH(2l21I!K{GJQbK?8OwS{FM(KiDQ{a8eAct=B&qW9-s# z)LYHUU)%0O7P*+Yl&&E(7HA8hu42HLV{l1jDdU~B!Pr=qY=!F}7$D(QQ8+96r6P*n z>Qd^j#AX!OsVOJkEYg> z0>R+VkBAC<=CL-qFS_ndH9B40T-TzZraS8@haRY$Kb`D`3bl=pIa*tzFc{B>Zo9r3 zgS1NBTB+Rk|6u~`(PN%~sZq$dh$$4hMwL3gFBJkH=JaY6;Jc2zx)^f36 z>m7p4dl3iiEUH&u~rT7ST{mYd4 zEADEX0*Rrt&Rh*}u#}NIqb9UFpdZ&)Aq!5Qpq+2KTJ+zJ(Eww>)UPNpW##Z&eGX5n z3L~?raw~ro*d7X4IJ?%W_M>!pq;c6w*ocx2Yp%3eG% zYvB$2dvI}9r(iRk<>RNu>tfEq)cXe`8YPuV;6f6R9bJJ{x-lFRpb!)IA0PG)8`S)% zAF{}qVP$q!{>tnoH*=z%!*4(-<$10vCll|Mj;HJ;#m~YY745u5GEJtEiAqiyRhr65 z0-#w6T*9RpB`sHR%;HSRia9`ubvb-(TXV+=bk#RMo1tn~YWmJOMyu;i?bgaDDD49U z_B;^Q8b}zr6by0!t}=;w(k@uA9C1w8g-|LS<9`U1a@YTo+1R_uY+p_P)l;}j)R^(y z#<;SaJ26E^%|#vrIO?7tCZ`#%mb!OMDGY7rpO;oDl4E}-4elkdo@$MihY^GStFSkZ zhjRV@$16o;X**Gt)Ta&|$&wHglcRDf>#;9`EKMQ%%w(NJRMd2mEE!WN>)4asSVCE5 zD$5YlppY46gfU}`xxd%w{m1XWUw`P~p1NPx>v_G_=j*!f+2ah}n*^Sr=G)#7HPLK+ z#sc6C+%&)wccucu-w|LVxIR|#kOI;3gW|ypZ%Wb%x6%sWdz?#*m&N9LEuQ{ob>MWs zDE&9=X1UeqJ} z^B?-oH9y(?Ymo1L-$2&;%sa#*j{YK*;dxVALsV7u)Dyw!QqglN8!?pN*5GgvP-fu9 zBEN1J(^!R0Ur{;zL9raa!XO@@n2g@Aa@2b~|6Us9G65bR2etpb<;@!DolZ}4jD9qCJ_G@t^{IT#ekiR1 zNXy7NVAZ)E|HJ=(f4!55c{De76w=>g6Cef~8QLsmrx2VY_U&-_$DC|S3@l*0>HfLl z*2TTs{k>6Nh1Wd214dn9Yz!1|-{fGb1%wgbvY|&xM+d0gYw5}3Zn?_uj1*kows$wx zdBu2n?{2EhFmZJTmydt%@YSQb?|pAvdFk8tv_D~0MAaD7aqh&r%4=n2p3^n>{$KXJ;Bx1?q`xP`jvD&R8t)odO%Zqu zyewL(c7X2hdWWOfm+75fe{>;4E;$0-*AeRTxZ=n?`iS%HdJUxP^QqN#Da+}#q=R;T zTIMhQH8qKAXFL$ryA<+z-SL}~E~PImr_4n?40)Vo4@)zxF6K^&BaDs~pHOfc%$Z79 zO@J0~5lPTO*~+gv#$9NE!hhRovbsmu4($=9gAYCC39V2MmreKZ_k5-(`^P?ex%M3A zUxruZ9<1HcRwsS04U%8Rb%cf>a^^zIb7b7)Y)z~cOm(+ScY4)@6*aj8_5M1LV=BER z4`+;TVk%R2A&fQj-%)aChZ-pI$%B!M=TlvRA)`EHVMNXZT=3mE3LP~;7zIng8H-*u z4NcIe^5%xW9#c+N7)4S7*++TM>XvhVg}>5}-Di9M#O}{|Jtn%<59U`?3=gcam&5FPA^n*8J!vN zYfefipSoHSi`GQUT9K!Rl$8#2J51SAaNMx<=1AWXYF44spoFWfA;Ut2!TOL{LrXP@ z*MkYET(h~dy}*9Xw_!B_uIzt!)QX~A?_`DT*cnv;Wk_|eFlse_m8A9O&;tHUF#1iy zb&NCf)W|`%i36Y1^`hMMif=f7&u#XzluKVNF92)T>W5V%0^ zl!BTNs-%68T)0!(i02te-6iU5cwgxp`p{6%&T1*RrI3lQuGXN>g7r?8<-1h2Y3^2J7nGlg`{2q z$lJGJdGJRI^h-SKAxJJiCCTKBTT9iQ3&qTWF5}N;i03k=hfdFpb)!R%bT^lJ_nTAh z)_M3Y>Z4hwpG2}k|E=tIq#?>%OBa12yKCfIc)5j(?e*moCHzKX5Bh10>G}DWR!C)G zJDimStu?m8abXvMM9i*?>TYx2}V$@R)5bEdPz#4>9H zcTVX84ROL|#uHWAthMV6ZZftvgS3DputO3cjv`pe+96>(Y4M;C2U9K(t*lc9nt+UW zY!At_!yL_P=ek(0oa4)V+;k>d3OviN6rk1NX^tEl1?8o1N=EUWp}6F6_JAB`*tk^N zNcShhy)X5?pF^+5;2)?8l{wb_?4Ocv*5a&Z{xu3#S>c2=O|%<(>2U(Hu_+ZtMLvv; zDHXYG=>%kakvCHT;z!pKh$LkJho+z}e|cQk{C;nUL|05>ZJ@5 zwdqnp7=h5zGC6h;|dWVYGA4i^^`QZHM%R>O5yBs0+7De(qsyy`0*SJ4SJ=A+2-+*;WDZw#YlDSVJN_y91p6ua zlT6g?9f{08Qd-Fma63>@sE0}^y1V}_9{=~8x<^sQc6s+d;>(kxs>6aJhWKBua{lEy z_!G10O6#l|pUdo~3Y4s?^#TtR>Qu(I3@eQd;+RG$_X$N<>bLM)MM6)*pEc8W+=_BG z%smOK3Q*A@h@b(X{TQ%+zPSK;`Q*Kox|W#O5ud(X4e51HjecZGPpB`F*wNZ^Eu9o# zT_)=`TTta~Txyd^DgDphd;r6BnMd>w>NZOD_TVqHzW3{2zc+qxATzUhG)#L)ei|Lq zP|Wk<>&kpDW>m~v3d+4H3fvn~m4zJl-@jBH@Sm?*#M*T0zGzT4f3|9a_Rk=qR+@Hp zdR5quRVTHHD=;e0G9tMj7rkB-UkkJNxuPvcym3?N9XqrbbFZElr>)`YO_@_nt@2_? zIS}K&Vk(B^6&8m*s5K4h4%A(@-Z8LGVEvLClCfjEpfL@R-oOsAJfuHqFQiFtj)}7G z#+x>VSHo{S-tc8$dXz{h5*K7jQIfJ<_p4C|Vkl5E0(sO`v|)gefZN;#%}hd5 zYg~3&QpiuwGe`Hq0}ITf&E=!IVv!UCgY4bOMT&S=rX| zgmu$J&Q8g13$IGz(|NZE*!3dwZwrmox&sC5zZ!z7az@@aREAy{S8YeE+8CD_f^T5A ziJ9`L$%E@COoe2;O~}!JoYg`m@)wm_1OJ)KeFmaI0M7glZ1Zm z?r$nJIE?Z1MXL=(I`rur41h&lCKW5MMeoXN8RN7re#ZN+yS~LqZIK``JgCfKxo1|( z4b4?pvl@kSrLxFSJf9ViAJPVWF2zJ$h6@O(3-q=B|0_^lkjJL%8;7=8&U+blO zF%p~n(Mxm=J~wW>WKdxf;@JKdqz3JLp8R>WaBXT%x>#X1xzUgB05#2O>pH+26V3h!_K&`5(+nG3z%8YOT(h1{Lo^p~keL;U{vk*Y5xC`U~BT73JY7XDIG ze!Tgh?JT-7^19)fVvBjM&T7HcY4N*DN+2?Sk%rvbpr-X>&s;^;%SgcHSn;?(NqE(o z{u1`8WyRtCg!&e>M_X`l#xecX&t3aWT5qF52y-I(W*h|MfOo>vv5g@Dhe=_bXy$Se+X(BoPRpQ??c4(_OvTrifGcpi2 zTVbMq_u1@856;1xgPRZ-Yl1zgmS1Uv(tE??zx-O4Rhdo0B~=z1%>ToK`>3Py0KnRE zy$8J$pzmZ4VAUK0K@v7E>36jk)sWTy$j#5h`AJbL!+o827kR-J-J9>Pr*cbn$j98x zJg;XlTrNIjxcPzOb1BW*p|!(En+m^g0l2B#&CGF!!}g;r;+$f@@d1=W)YvkA2qvnz#{^;4H_c1?ZQ+=IM3k`t$k^LIfdk{zUd6%#Xb#1d&%oV!th+h2?yS~=C}gJF%cU)V*wwBVXP zppVo~iZI`Q6#N(vSzHy!OW67ENYQejr3GklezbVHicbrmgn5Rj^XU&5*D@-#I)?2c^($cz7@*X91SzcrgiA>rz?KuCPzjr0x z73FqPF?|AZR~67lE2|gazdr$9t&kkE3o^z5wbKwlH2GP{T_{tF+4@|zr)94-lAgD z9(5;e9^@QcY9AUfGAA#p+f>u4MX?#wy^sUeg=uzv5KT1}0RIB<+I9U#iSi!%QN-E; z{ffxvf;jorvFGh>mMt!>uW_l~<1I~1PE1^P;AcDm&ykNp-VSdz9K{=Yx$nDWQ?^vR zQlUo$ORLoVlsD5>jhKx-{FG7R>R1yPr0OUeh0HL-4$izc1NGnx_-~>Oo?C!2M0bJ- z=p=h6LpOF0 zhTE=H-RWZ|n$65)8kA5jS$qz349a&@t;aWw!mH4F>D;FaWvEQhD|rCZ!mLa{+Q7UZ zqhkVpgvtc;&5;KodDw2r+c(CmBp4d6qF{C33eGAN$oT9plgYx@JTgaTN%`{gW+xROK{Fl}K2K3O6wlx#lAM-vT^!f$d$nzQE?T!MSgMY=}Wh_8@=^k3HW; z!hKw6C(+lg3pEj+SSPPw&gh#PM!mzL4;v5y$`l?^4yo+R%*K4tLd}Wq9?zB2)JpLfyTq={)eV)+7}6Cv@m(4720 zx0p$GbevJTnsS`bZ&=arFWi!*Bx>pd+TrxkG$596WP;x12?9PTxxJan0}+wlwG(QJ zz9!VP+?*PEAtWdVy~$Q+on+Fe^Pxy7xhE@Xwy4vweYdx{0(CQ4+%qO;VDpl%F2=yF zR!i;~^kYnY`VZMbc&dp3XX^Dg>6PN5ipAEUUnOr1;~N}@;6NKH8&6oE{3+l@=&UVZ z-$uOLs0|^#SROVCbO+cr=#9U5wcg!_O0{~AzFgHamrHg(;#*ff{jZkJ3u-+Ki^;jP z?|6&7l699fM*oMk)zl}G?pRMnA2pR^OdgWT_u2lEFgsp^iRTWiZ?}y8u1sab9>brp z%&>Z91)ROsk+e|+a=D^1uz90go4|h5;gLKmQ}1}$dU`7Emih;M-`oR{)nLB$k0cAn z!|4(|Y4bYRUKxV62Rc#4FYmkfYIsH&QdTUcb~D@Wwbx)PImcg7_ttQ*O~gP(YFv`( zAZM9RX7$qMmy<3?E1;i&GJ>v#Qw9JiPbjY+GUEY4C8)UynVy`yALLuuu2irc#bpa+ ztEA(qx*tn7ITi5hRuGFBwf^0uAM3B)i5-@oj$5r#bV|*Ir@>eiZUeVlQOnFp^Td~5 zp8v3ir+Gwo>Y{SK9;F5QEc}HSaOC#HZq=3>a9sZy*R-sqk8x1cBD$-KBL8u)3V;F5 zAK}iiUG10wl}5H!4UjKFq|Ry;$~E-5>mx_;MC#G3JtYd50S5}l{`jCK&bO<8UAI3u zq?2=SK4kc1(_&w!?QXBLoF-SMXO7GnOc#n&9CyczGj|$EEbEy$!wU{J`VeV}7mJvU ztSLrT+sD}7{0%sv1Nf{*$3_-P!alpggU$*(hT}5Brprt1X&i!K?-sFnr_ICpU%F5M zr{3j~rm3nN9XxVqxAe}ohDV^52{EZ)Pa zFuvA2g8i8^GI7v`f!qFd^3YH#=Rk5h_>Op>e1p85C?tN~$UAUBmExzw7_}HTuo}W_ zrJ>e3Rt(bgAjQVa%Q){VYPD;#PuD%HpuuVI6I9)?u%r50N?iZWGsdy_0z7;;1z;#M&dqSHcO7`R0dO4Yi__5Mr*?pm4e9bvv;wj`-JN* zG|-ulN~!GBsFD8`%Dk~VAPiI8(M=LEbRPtHkuZN3qWq6+Q#E~MXcsxRmvRhVHyn7c z+{%|Zj!g{LD!Asgg1D*ZR{L!#m+@1aN_Mtq^@>vs3!4fAFW|Cf_&!d3F{RWzikG51 zDEE8YDbWc~%npd#jM(_6JD?^4zye`B0dZ#_HhlBAqD8hNjaA+t$G>ig&>()!%n|Du zv0NE*Z7_>w{XEfdpN;(R`cVL6uIZ_+d!WH2|C^=dH&50#Of{ZS9yL!6SIJq-4{w80 zjsPpW!PiN1Jf{J?g3%PHq_%b1FuY`wm>t6H7p zKZ`HgwpcP9!=C@N@XdlVarkSfSDWznn6A3FRP}647VOH-{$E2=WjKZ`DpuE;huYxj z;QpDr0D3NMr1S+y1t@z0q@SVbte(5Nhr;YQLO!$1TWzjSES8;xHY@AF$8>RK4;Rp# zbKRKX>vq4MDMd*Zi{Eka*3R?qhW8^kjUS}yz#L~hrqHraz806}sbjB&)wx}d<+;I& zEgX|*Ynj8WVW1a#`L|6gQ`?|<@XdbJlF*na(&&=SmawfCsO2a2ob^EsZ}Xv3+*w;! z%zU#Hl9`LH<5tW>i^2fPP-VkXVc-lFISkt!Vlj0lPLVTKKEK!!W|_fQ9Il}6(f!a) z!nGa~P(bq2oB*U9$gT#7kTVgm3u^}ez0`~4aTllJS4rb-uaArz8F~I+Q9R``axZmc zUg}S|F5Nj+xve&N*nJzNAYd4uU3fq0d$Lj0DACU|W_9sR3{!XWYX<7Ert(~4=`NM_ ze(BFyNBc8_?;DR`#=K3nfYhfVY!N)Fv5M$6fVsem;1yMm^jTrw{E@w-m(BA_8@4k4 ztm|<%R2#WudYojL)M4VPcRZ~LhD6fmU%Hn_!W7oNYvQ5V7)@H5DF;^_Hjc6=TK+@p zmPEgP$>0oGNzpJ?=u1k}k<-;=&||Iu}AL;)Pm-*%w|R!}W%m3jg*`U!<#xj~2`IGMFv4ul)MR zZ{(p~7yTCJXkvR2v`o~<*TG=UvCbU8dz`h^f1hFe6;(0d&Z9CnWJkrQPCzgC0Vf4Z zZlHlF6AtV2fN~NJ3V1HX(yC-#P2l0A?Yw8tA+*811GK5yHm~m|qS7!Yr;iyYyFTxg z-jeWS71>@e{ej%d>NL4m2RD45rUa8~yWd7ms#q{y5RPoJt1E6DYfB;fXUR;>_x?Zj)Co!u+gQ$dvpY0#+pCxA=G4Z z5L$Zj@iG#3w`}6(-3_yN559bUFd+lhqfB`dO-Tt{i19Z6CjWe+mZZG z`jPfqLtL`QQc0Uvm5#R7*zI%B<@Bj|-C}IOjV=bFDP9|pw3AY~ zS~bSg+2c?&JkeVkiVh&TYFXyN3bjI93?tB=V_ATlkM_UQorhVLAub1o{k5iA# zPFlu!uTPvaJ~2lg5k_9C4vV)~jXdV)<_*8RZ;ciWwsj*d!yQ4@yGIx$+TeC5Vh7|d z6zbat{N{=Wi-viSRRnO4Hpn}20*YCMR?|0W?6zr*DSL-k|5?O}Y!)v4F{sZVvN>V= zcjD_MO_#`&>krK6!}DKrg+=y`ntvkw#wWFD_seb^B9hSa8RnDlQ0nmafS{>3j=h_O zcj?RmCC2FgCP-8~ZzmKK0rY?m?t*kgrOj$27l zXWc6M6V$~OeEhbLk2@L8Nhix&B7L415v5*%&HJ<%j=H7eW zcJGi@K$)PL^mb48iGK(@c}Pj+da-16n#T0oC>tfy^Sz4XbaaE z*wq;u&*MKEcnuK+%F1ZDUR-iq9UAlRn`V?01p08c_Xd_hqV@nI+EUUoL$wqW0^9-< zh2)XOJ3}X5Sf_u9dmDB@*1x3g@4{)sj0>HnEaq}bNdtwOMc+Qrsxv5{xl|*o%@p2L zou4X;J^Lw06+tWwvUA(ITVjvGWy^90rK2Zml-rf<9j%^8F4+>81`W~0^aZSwhX~m? zQAG1VwTb4BYccQSM6d%0^aWgjM~2R`WBwUg=0@swUhWN+V=sRu!OrsA^UlGR9hZvr zq=Z>ZKEVd(GI7;;@>>HtR`{D|}=77bv03fRK~Ge;HsGpuZqEv~`n8u1w0g z?>Z`-?@PY#wvndks_|P6)RM{XC#g$SJwENXryinHCBxO3KJ><=w`$%9<+!wr)AbNM#$L!9$Qu8t?3o#3;{rHN^bKeuJnW2VK{4KzlSies6z zp&?G+M4Dq`$qQJvEq)ikVu3xmLDa2{IR%-M-+-Yo{W+8#L~m|-b?0)zeANs`i96U) zam6c&7;@-84Y_K}{s0ZV!=K&>yP_*2QLDw(m+%KZpri?y(BNuQeBkYY2Eva|oAVZ} z*AOxq-(JhsmWrn*f1dw7esOdGdN(wW_*1Z^*hX3b;TOJiP*}%aVE-v%#g&E7ynrNF zogtK^ilgHi#4MhV=(e7gyA~f&MB(>p+{FCMF6?=oiAhW}%vJcHe#rl_cn8^N=&aqC zMi~QHLAhnIg=)xPFzDJh^DEBRDI#&jC^rr0UCDBaQmynyG#?*wa!`#3i%qMf7 znjk-tg~C^90_)@vG2Hz6I>lSSCb-$?k>S%i6(s~qq*_32?HPcyPJ@z&#EG#CsMiJN zj$+Y32__;x%Gj52fSp_Lm;zJx8Ocp{vAYb!-c;Fl;Qy{FhWC-8#L(h;0nz($h){ij z>f|}!pv_b+{%SNjn0=4I{J+eVMa~6c znj06;ETKn z($RJLN=cPVNsTY+=6X&4&(!JI@W)p*!!bRPFH0vzY@C{L=N`pOgrkoMm~5bpBPeC9 zX*Z-q<#Q4g3ntK|KsV96#zBMm#O_Y_LI1_7OD}{YJsmxTOv>JwV!i&;xS|=q7S@h= zyIx;dU233{20{1TgS8Z)HK+`$^M|tGvI>-!;#GU~9)Er`^lD}wleD885oWF_z5db-x+mUDBlZ#Jp2@^N zXu@A*B4R1>>cnYIc0rHvuZTF4tcINfqmPy}9*ypTmIS|x7CH!HL&xV^HUl5-> z6_e&KMm0TpjI7$DG+*9w*>F>RYjS-+%;3=AgVy^|r5B0MihgN%yzRm9@FZrdZ4^8R5Drgb$mo?*W0dd^*fi6^{$i^OD^pL5Q762KvWt5 z{2(P@M~)&C^A&`<{3*t1u`{CHgvm{ZLxLsyzsfz$$?kXdJtJ-j2)){$A>)-#Sy5SO zu*eH-xmLJFMys)i_A@C3jf1-lQWf|a10CyH;dL18ygLh2)VBKWVt!b~unUjN4+!!C zTT4pa7~e4!f!%e1ST>BxlM}{dTh62;K*n@1JOUAV=5bu>vfJO?*Iq64PLJN?^UuaH z=MG}#idk=e;dc#4v%QTn4n{b<|}5K>sRvqX}e^<-E1nB?^}E|+49k4cV=c;E3W z+o|AFIu47N`%sF9*&^t)(HnWlkAYb8n}*m_4&PxpAX{k^zu7=ZgONkU`W<#?Vx4^1 z4Gtq66L1Z|qyobuQ6-@u=7h)Eb0XNY`f_20OdVIfp2d4LzRx9pEDR|M$$~1 zkg^T@Mw#-DEn|C-Rr~x^-zm)LvdD)sSymT1a=w-HM^IiSX_JRSCLxz(ouENgH_MEj zkPB9A0?PtS!dGyA_^;f6c4+Mqu-<;&(zwhJ{mhmZH{h@BKZG7l&<E^qL^K+D#>&2K>~M>+Cw+Y(BU6}rpA`1UlF%_1UG9QfWl4Fcs;&H?g3;s1I#0E- z-m*@>^7}co*Kh|*h7_Y&rExrS!&?E_nE>gF=#&s60bu0A=xQ~E#>oePc`d#S*HHft z**N?B!&VvbtR<>R2f0VM@|G%HCS^=`mv)eg6 zxY}0^ci&Pn^4*PrW(9TP<{>`cr{3~eAKxdIb~`4VS9ujjA6)ltCc{fB;!fQ_Po+!0 z(mAE{s-VVCdz&{-c4ns54*J9G~;M`o^4T<2DhMyl%)v5;A+9>MCNDJ6tFt z^A)HmBcgqKM0}wcd;+>27Aj(ys+^dsI*ZuCPel-0ytR}$=jFUb-2`)eD(Z>YbV^-W zTkibU4}M7x+s8dkQ&z(&1?K**&%Mv~4t zHEq}T2igZeR67pPUXo6v&spY07(NG3{N8y|rz>+%mdX$v#iU^sLya52hfF)i*KO(HATo(6Ho@5E$d%VnsOtlwnM#9we=-;;H-0Xo*F1 zB1Gwel+8ctes}TSVUd-ryZK7F|8;bTMq+o@{T>pl%5dVYC(Wr;UA8C2@EAHVyCI2* zorBC;&lF`gtoe$S$A@;QUgnTsEwF{pIU`;{#m3iOMGwKOtDgrKhIWYx9c@dIYn=hd zz#L^y0J^B6QPtQ6gfN2WKqODl@C%YK>^%SLaG+NCv5|?fBcGJ{)|*aUm7AQjGpZ)b zXLZ<#B@ZTc7(Vju$zzm(7pD+Q=iE!__OXNHsfQ8u^#g*UL##snknS@NDrqN?byjI# z3XYFhwGKJ(qqeiwx?RMCgLRCEY)_r!H?!Dz7J=}Kwbv9dt4nj};c35+rqB$%@3@?jDTk~{5XVf}FAD(&#O!uvW} zPBQB0Z<3-0Yqkh>&lGO+)njvNjyuZ&BIRLAIV9d7YO`dHi1iJ$j75e-Hn zwA^dRk)LSrHM^DSXFLS0dejvEeH_yg{o)}^6D9##j0wUNI4cMpv*d9Nz{vG?8L=HY ji*z#;?O^6Wm_WHc^p=23uF>BF{#?3XdA{^-&pZDQq_g8p literal 0 HcmV?d00001 diff --git a/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-1024.png b/piwigo/Resources/Images.xcassets/AppIcon.appiconset/icon-1024.png deleted file mode 100644 index 3a7e07bafe39307e080eb8b159f7993f0ec2a95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44406 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 literal 0 HcmV?d00001 diff --git a/Assets/App Icon/piwigoIcon.afdesign b/Assets/App Icon/Icon-squared.afdesign similarity index 100% rename from Assets/App Icon/piwigoIcon.afdesign rename to Assets/App Icon/Icon-squared.afdesign diff --git a/Assets/App Icon/icon-1024.png b/Assets/App Icon/icon-1024.png deleted file mode 100644 index 3a7e07bafe39307e080eb8b159f7993f0ec2a95f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44406 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