Skip to content

Commit 9e817e6

Browse files
committed
Add RAW download mode preference UI
1 parent 28ed6bd commit 9e817e6

File tree

18 files changed

+147
-26
lines changed

18 files changed

+147
-26
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1111

1212
- Resetting photo zoom in the media viewer when setting or unsetting the photo favorite or private
1313

14+
### Added
15+
16+
- Ability to change the download behavior for RAWs in the preferences:
17+
you can choose between downloading the original file or a compatible JPEG, if available
18+
1419
### Removed
1520

1621
- Redundant encryption of the stored credentials and library connection parameters.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package ua.com.radiokot.photoprism.features.gallery.data.model
22

33
enum class RawDownloadMode {
4-
COMPATIBLE_JPEG,
54
ORIGINAL,
5+
COMPATIBLE_JPEG,
66
;
77
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package ua.com.radiokot.photoprism.features.gallery.data.model
22

33
enum class RawSharingMode {
4-
COMPATIBLE_JPEG,
54
ORIGINAL,
5+
COMPATIBLE_JPEG,
66
;
77
}

app/src/main/java/ua/com/radiokot/photoprism/features/prefs/view/PreferencesFragment.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ import ua.com.radiokot.photoprism.features.ext.key.activation.view.KeyActivation
5050
import ua.com.radiokot.photoprism.features.ext.prefs.view.GalleryExtensionPreferencesFragment
5151
import ua.com.radiokot.photoprism.features.ext.store.view.GalleryExtensionStoreActivity
5252
import ua.com.radiokot.photoprism.features.gallery.ImportSearchBookmarksUseCaseParams
53+
import ua.com.radiokot.photoprism.features.gallery.data.model.RawDownloadMode
5354
import ua.com.radiokot.photoprism.features.gallery.view.model.GalleryItemScale
5455
import ua.com.radiokot.photoprism.features.gallery.data.model.RawSharingMode
5556
import ua.com.radiokot.photoprism.features.gallery.data.storage.DownloadPreferences
@@ -268,6 +269,17 @@ class PreferencesFragment :
268269
}
269270
}
270271

272+
with(requirePreference(R.string.pk_download_raw_mode)) {
273+
this as ListPreference
274+
entries = resources.getStringArray(R.array.raw_download_mode_array)
275+
entryValues = RawDownloadMode.values().map(RawDownloadMode::name).toTypedArray()
276+
value = downloadPreferences.rawDownloadMode.value!!.name
277+
setOnPreferenceChangeListener { _, newValue ->
278+
downloadPreferences.rawDownloadMode.onNext(RawDownloadMode.valueOf(newValue as String))
279+
true
280+
}
281+
}
282+
271283
with(requirePreference(R.string.pk_import_bookmarks)) {
272284
setOnPreferenceClickListener {
273285
importBookmarks()

app/src/main/res/values-cs/strings.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,18 @@
265265
<string name="calendar">Kalendář</string>
266266
<string name="failed_to_load_calendar">Nepodařilo se načíst kalendář</string>
267267
<string name="nothing_found">Nic nenalezeno</string>
268+
<string name="raw_original">Původní</string>
269+
<string name="raw_compatible_jpeg_if_present">Kompatibilní JPEG, pokud je přítomen</string>
268270
<string name="raw_sharing_preference">Sdílet RAW jako</string>
269271
<string-array name="raw_sharing_mode_array">
270272
<!-- Must be aligned with RawSharingMode enum -->
271-
<item>Kompatibilní JPEG, pokud je přítomen</item>
272-
<item>Původní</item>
273+
<item>@string/raw_original</item>
274+
<item>@string/raw_compatible_jpeg_if_present</item>
275+
</string-array>
276+
<string-array name="raw_download_mode_array">
277+
<!-- Must be aligned with RawDownloadMode enum -->
278+
<item>@string/raw_original</item>
279+
<item>@string/raw_compatible_jpeg_if_present</item>
273280
</string-array>
274281
<string name="remove_from_album">Odstranit z alba</string>
275282
<string name="download_preferences">Stažené soubory</string>
@@ -287,5 +294,6 @@
287294
<string name="extension_memories_people_to_forget_preference">@string/people</string>
288295
<string name="extension_memories_people_to_forget_preference_summary">Koho zobrazovat ve vzpomínkách a koho ne</string>
289296
<string name="extension_catalog">Katalog rozšíření</string>
297+
<string name="raw_download_preference">Stahovat RAW jako</string>
290298

291299
</resources>

app/src/main/res/values-de/strings.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,10 +263,17 @@
263263
<string name="failed_to_load_calendar">Kalender konnte nicht geladen werden</string>
264264
<string name="nothing_found">Nichts gefunden</string>
265265
<string name="raw_sharing_preference">RAW teilen als</string>
266+
<string name="raw_original">Original</string>
267+
<string name="raw_compatible_jpeg_if_present">Kompatibles JPEG, wenn vorhanden</string>
266268
<string-array name="raw_sharing_mode_array">
267269
<!-- Must be aligned with RawSharingMode enum -->
268-
<item>Kompatibles JPEG, wenn vorhanden</item>
269-
<item>Original</item>
270+
<item>@string/raw_original</item>
271+
<item>@string/raw_compatible_jpeg_if_present</item>
272+
</string-array>
273+
<string-array name="raw_download_mode_array">
274+
<!-- Must be aligned with RawDownloadMode enum -->
275+
<item>@string/raw_original</item>
276+
<item>@string/raw_compatible_jpeg_if_present</item>
270277
</string-array>
271278
<string name="remove_from_album">Aus dem Album entfernen</string>
272279
<string name="download_preferences">Downloads</string>
@@ -284,5 +291,6 @@
284291
<string name="extension_memories_people_to_forget_preference">@string/people</string>
285292
<string name="extension_memories_people_to_forget_preference_summary">Wen man in den Erinnerungen anzeigen sollte und wen nicht</string>
286293
<string name="extension_catalog">Erweiterungskatalog</string>
294+
<string name="raw_download_preference">RAW herunterladen als</string>
287295

288296
</resources>

app/src/main/res/values-el/strings.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,10 +265,17 @@
265265
<string name="failed_to_load_calendar">Αποτυχία φόρτωσης ημερολογίου</string>
266266
<string name="nothing_found">Δεν βρέθηκε τίποτα</string>
267267
<string name="raw_sharing_preference">Μοιράζεστε RAW ως</string>
268+
<string name="raw_original">Πρωτότυπο</string>
269+
<string name="raw_compatible_jpeg_if_present">Συμβατό JPEG, εάν υπάρχει</string>
268270
<string-array name="raw_sharing_mode_array">
269271
<!-- Must be aligned with RawSharingMode enum -->
270-
<item>Συμβατό JPEG, εάν υπάρχει</item>
271-
<item>Πρωτότυπο</item>
272+
<item>@string/raw_original</item>
273+
<item>@string/raw_compatible_jpeg_if_present</item>
274+
</string-array>
275+
<string-array name="raw_download_mode_array">
276+
<!-- Must be aligned with RawDownloadMode enum -->
277+
<item>@string/raw_original</item>
278+
<item>@string/raw_compatible_jpeg_if_present</item>
272279
</string-array>
273280
<string name="remove_from_album">Αφαίρεση από το άλμπουμ</string>
274281
<string name="download_preferences">Λήψεις</string>
@@ -286,5 +293,6 @@
286293
<string name="extension_memories_people_to_forget_preference">@string/people</string>
287294
<string name="extension_memories_people_to_forget_preference_summary">Ποιον να εμφανίζετε στις αναμνήσεις και ποιον – όχι</string>
288295
<string name="extension_catalog">Κατάλογος επεκτάσεων</string>
296+
<string name="raw_download_preference">Λήψη RAW ως</string>
289297

290298
</resources>

app/src/main/res/values-es/strings.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,17 @@
266266
<string name="failed_to_load_calendar">Error al cargar el calendario</string>
267267
<string name="nothing_found">No se encontró nada</string>
268268
<string name="raw_sharing_preference">Compartir RAW como</string>
269+
<string name="raw_original">Original</string>
270+
<string name="raw_compatible_jpeg_if_present">JPEG compatible, si está presente</string>
269271
<string-array name="raw_sharing_mode_array">
270272
<!-- Must be aligned with RawSharingMode enum -->
271-
<item>JPEG compatible, si está presente</item>
272-
<item>Original</item>
273+
<item>@string/raw_original</item>
274+
<item>@string/raw_compatible_jpeg_if_present</item>
275+
</string-array>
276+
<string-array name="raw_download_mode_array">
277+
<!-- Must be aligned with RawDownloadMode enum -->
278+
<item>@string/raw_original</item>
279+
<item>@string/raw_compatible_jpeg_if_present</item>
273280
</string-array>
274281
<string name="remove_from_album">Eliminar del álbum</string>
275282
<string name="download_preferences">Descargas</string>
@@ -287,5 +294,6 @@
287294
<string name="extension_memories_people_to_forget_preference">@string/people</string>
288295
<string name="extension_memories_people_to_forget_preference_summary">A quién mostrar en los recuerdos y a quién – no</string>
289296
<string name="extension_catalog">Catálogo de extensiones</string>
297+
<string name="raw_download_preference">Descargar RAW como</string>
290298

291299
</resources>

app/src/main/res/values-fr/strings.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,10 +266,17 @@
266266
<string name="failed_to_load_calendar">Échec du chargement du calendrier</string>
267267
<string name="nothing_found">Rien trouvé</string>
268268
<string name="raw_sharing_preference">Partager RAW en tant que</string>
269+
<string name="raw_original">Original</string>
270+
<string name="raw_compatible_jpeg_if_present">JPEG compatible, si présent</string>
269271
<string-array name="raw_sharing_mode_array">
270272
<!-- Must be aligned with RawSharingMode enum -->
271-
<item>JPEG compatible, si présent</item>
272-
<item>Original</item>
273+
<item>@string/raw_original</item>
274+
<item>@string/raw_compatible_jpeg_if_present</item>
275+
</string-array>
276+
<string-array name="raw_download_mode_array">
277+
<!-- Must be aligned with RawDownloadMode enum -->
278+
<item>@string/raw_original</item>
279+
<item>@string/raw_compatible_jpeg_if_present</item>
273280
</string-array>
274281
<string name="remove_from_album">Supprimer de l\'album</string>
275282
<string name="download_preferences">Téléchargements</string>
@@ -287,5 +294,6 @@
287294
<string name="extension_memories_people_to_forget_preference">@string/people</string>
288295
<string name="extension_memories_people_to_forget_preference_summary">Qui afficher dans les souvenirs et qui – non</string>
289296
<string name="extension_catalog">Catalogue d\'extensions</string>
297+
<string name="raw_download_preference">Téléchargement du RAW en tant que</string>
290298

291299
</resources>

app/src/main/res/values-it/strings.xml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,10 +265,17 @@
265265
<string name="failed_to_load_calendar">Caricamento del calendario non riuscito</string>
266266
<string name="nothing_found">Nessun risultato</string>
267267
<string name="raw_sharing_preference">Condividere RAW come</string>
268+
<string name="raw_original">Originale</string>
269+
<string name="raw_compatible_jpeg_if_present">JPEG compatibile, se presente</string>
268270
<string-array name="raw_sharing_mode_array">
269271
<!-- Must be aligned with RawSharingMode enum -->
270-
<item>JPEG compatibile, se presente</item>
271-
<item>Originale</item>
272+
<item>@string/raw_original</item>
273+
<item>@string/raw_compatible_jpeg_if_present</item>
274+
</string-array>
275+
<string-array name="raw_download_mode_array">
276+
<!-- Must be aligned with RawDownloadMode enum -->
277+
<item>@string/raw_original</item>
278+
<item>@string/raw_compatible_jpeg_if_present</item>
272279
</string-array>
273280
<string name="remove_from_album">Rimuovi dall\'album</string> <string name="download_preferences">Download</string>
274281
<string name="download_use_separate_folder_preference">Utilizzare una cartella separata</string>
@@ -285,5 +292,6 @@
285292
<string name="extension_memories_people_to_forget_preference">@string/people</string>
286293
<string name="extension_memories_people_to_forget_preference_summary">Chi mostrare nei ricordi e chi – no</string>
287294
<string name="extension_catalog">Catalogo delle estensioni</string>
295+
<string name="raw_download_preference">Scaricare RAW come</string>
288296

289297
</resources>

0 commit comments

Comments
 (0)