From 3f008960dee26af71fc77da95f73b4030b7faf5f Mon Sep 17 00:00:00 2001 From: tibbi Date: Wed, 18 Oct 2017 23:38:35 +0200 Subject: [PATCH] add the dialog for customizing extended details --- .../gallery/activities/SettingsActivity.kt | 15 +++ .../dialogs/ManageExtendedDetailsDialog.kt | 70 +++++++++++ .../gallery/helpers/Config.kt | 4 + .../gallery/helpers/Constants.kt | 14 +++ app/src/main/res/layout/activity_settings.xml | 19 +++ .../layout/dialog_manage_extended_details.xml | 113 ++++++++++++++++++ app/src/main/res/values-ca/strings.xml | 1 + app/src/main/res/values-cs/strings.xml | 1 + app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-fi/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-hu/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 1 + app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-sk/strings.xml | 3 +- app/src/main/res/values-sv/strings.xml | 1 + app/src/main/res/values-tr/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 25 files changed, 255 insertions(+), 1 deletion(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/ManageExtendedDetailsDialog.kt create mode 100644 app/src/main/res/layout/dialog_manage_extended_details.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt index 8d8b37c52..8851b6bd3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/activities/SettingsActivity.kt @@ -6,12 +6,14 @@ import android.os.Bundle import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.dialogs.SecurityDialog +import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.handleHiddenFolderPasswordProtection import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.helpers.PROTECTION_FINGERPRINT import com.simplemobiletools.commons.helpers.SHOW_ALL_TABS import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.gallery.R +import com.simplemobiletools.gallery.dialogs.ManageExtendedDetailsDialog import com.simplemobiletools.gallery.extensions.config import com.simplemobiletools.gallery.helpers.ROTATE_BY_ASPECT_RATIO import com.simplemobiletools.gallery.helpers.ROTATE_BY_DEVICE_ROTATION @@ -48,6 +50,7 @@ class SettingsActivity : SimpleActivity() { setupDeleteEmptyFolders() setupAllowVideoGestures() setupShowExtendedDetails() + setupManageExtendedDetails() updateTextColors(settings_holder) } @@ -221,6 +224,18 @@ class SettingsActivity : SimpleActivity() { settings_show_extended_details_holder.setOnClickListener { settings_show_extended_details.toggle() config.showExtendedDetails = settings_show_extended_details.isChecked + settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails) + } + } + + private fun setupManageExtendedDetails() { + settings_manage_extended_details_holder.beVisibleIf(config.showExtendedDetails) + settings_manage_extended_details_holder.setOnClickListener { + ManageExtendedDetailsDialog(this) { + if (config.extendedDetails == 0) { + settings_show_extended_details_holder.callOnClick() + } + } } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/ManageExtendedDetailsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/ManageExtendedDetailsDialog.kt new file mode 100644 index 000000000..3d8c5e3a7 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/ManageExtendedDetailsDialog.kt @@ -0,0 +1,70 @@ +package com.simplemobiletools.gallery.dialogs + +import android.support.v7.app.AlertDialog +import android.view.LayoutInflater +import android.view.View +import com.simplemobiletools.commons.extensions.setupDialogStuff +import com.simplemobiletools.gallery.R +import com.simplemobiletools.gallery.activities.SimpleActivity +import com.simplemobiletools.gallery.extensions.config +import com.simplemobiletools.gallery.helpers.* +import kotlinx.android.synthetic.main.dialog_manage_extended_details.view.* + +class ManageExtendedDetailsDialog(val activity: SimpleActivity, val callback: (result: Int) -> Unit) { + private var view: View = LayoutInflater.from(activity).inflate(R.layout.dialog_manage_extended_details, null) + + init { + val details = activity.config.extendedDetails + view.apply { + manage_extended_details_name.isChecked = details and EXT_NAME != 0 + manage_extended_details_path.isChecked = details and EXT_PATH != 0 + manage_extended_details_size.isChecked = details and EXT_SIZE != 0 + manage_extended_details_resolution.isChecked = details and EXT_RESOLUTION != 0 + manage_extended_details_last_modified.isChecked = details and EXT_LAST_MODIFIED != 0 + manage_extended_details_date_taken.isChecked = details and EXT_DATE_TAKEN != 0 + manage_extended_details_camera.isChecked = details and EXT_CAMERA_MODEL != 0 + manage_extended_details_exif.isChecked = details and EXT_EXIF_PROPERTIES != 0 + manage_extended_details_duration.isChecked = details and EXT_DURATION != 0 + manage_extended_details_artist.isChecked = details and EXT_ARTIST != 0 + manage_extended_details_album.isChecked = details and EXT_ALBUM != 0 + } + + AlertDialog.Builder(activity) + .setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() }) + .setNegativeButton(R.string.cancel, null) + .create().apply { + activity.setupDialogStuff(view, this) + } + } + + private fun dialogConfirmed() { + var result = 0 + view.apply { + if (manage_extended_details_name.isChecked) + result += EXT_NAME + if (manage_extended_details_path.isChecked) + result += EXT_PATH + if (manage_extended_details_size.isChecked) + result += EXT_SIZE + if (manage_extended_details_resolution.isChecked) + result += EXT_RESOLUTION + if (manage_extended_details_last_modified.isChecked) + result += EXT_LAST_MODIFIED + if (manage_extended_details_date_taken.isChecked) + result += EXT_DATE_TAKEN + if (manage_extended_details_camera.isChecked) + result += EXT_CAMERA_MODEL + if (manage_extended_details_exif.isChecked) + result += EXT_EXIF_PROPERTIES + if (manage_extended_details_duration.isChecked) + result += EXT_DURATION + if (manage_extended_details_artist.isChecked) + result += EXT_ARTIST + if (manage_extended_details_album.isChecked) + result += EXT_ALBUM + } + + activity.config.extendedDetails = result + callback(result) + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt index fee7e2ff2..7302b3491 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Config.kt @@ -292,4 +292,8 @@ class Config(context: Context) : BaseConfig(context) { var showExtendedDetails: Boolean get() = prefs.getBoolean(SHOW_EXTENDED_DETAILS, false) set(showExtendedDetails) = prefs.edit().putBoolean(SHOW_EXTENDED_DETAILS, showExtendedDetails).apply() + + var extendedDetails: Int + get() = prefs.getInt(EXTENDED_DETAILS, EXT_RESOLUTION or EXT_LAST_MODIFIED or EXT_EXIF_PROPERTIES) + set(extendedDetails) = prefs.edit().putInt(EXTENDED_DETAILS, extendedDetails).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt index 5b88534f3..0ccfacf64 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/helpers/Constants.kt @@ -40,6 +40,7 @@ val TEMP_FOLDER_PATH = "temp_folder_path" val VIEW_TYPE_FOLDERS = "view_type_folders" val VIEW_TYPE_FILES = "view_type_files" val SHOW_EXTENDED_DETAILS = "show_extended_details" +val EXTENDED_DETAILS = "extended_details" // slideshow val SLIDESHOW_INTERVAL = "slideshow_interval" @@ -86,3 +87,16 @@ val GIFS = 4 // view types val VIEW_TYPE_GRID = 1 val VIEW_TYPE_LIST = 2 + +// extended details values +val EXT_NAME = 1 +val EXT_PATH = 2 +val EXT_SIZE = 4 +val EXT_RESOLUTION = 8 +val EXT_LAST_MODIFIED = 16 +val EXT_DATE_TAKEN = 32 +val EXT_CAMERA_MODEL = 64 +val EXT_EXIF_PROPERTIES = 128 +val EXT_DURATION = 256 +val EXT_ARTIST = 512 +val EXT_ALBUM = 1024 diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 944390ec8..c003f76f5 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -348,6 +348,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 43594c96c..f4ee43fa2 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Replace Share with Rotate at fullscreen menu Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index b47de3c07..b49c84832 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Replace Share with Rotate at fullscreen menu Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 45ed9184f..137d5a5f0 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -126,6 +126,7 @@ Gesten für Videolautstärke/Helligkeit Teilen/Drehen im Vollbild-Menü vertauschen Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 029534ffa..25cb4c167 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Reemplazar Compartir con Girar en el menú de pantalla completa Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 1164fb3db..fad746e5d 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -126,6 +126,7 @@ Salli videon äänenvoimakkuuden ja kirkkauden säätö pystysuorilla eleillä Korvaa jakaminen kääntämisellä koko näytön tilassa Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 7281df1ee..50844b18b 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -126,6 +126,7 @@ Permettre le contrôle du volume vidéo et de la luminosité avec des gestes verticaux Remplacer Partager par Pivoter si menu en plein écran Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 3a1ae7d43..f6b77cf01 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Replace Share with Rotate at fullscreen menu Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 59dca231f..a70c5ae7f 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -126,6 +126,7 @@ Gestisci il volume e la luminosità dei video con gesti verticali Sostituisci Condividi con Ruota a schermo intero Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ebc34b95d..c85011c6e 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -126,6 +126,7 @@ ビデオ再生中に、音量と明るさを縦方向のジェスチャーで変更する フルスクリーンメニューの「共有」を「回転」に置き換える Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index d4308631d..fd9567d52 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -126,6 +126,7 @@ Zezwalaj na kontrolę jasności i głośności filmów pionowymi gestami Zamień funkcję udostępniania na obracanie w menu pełnoekranowym Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index ffdd2b2d2..e70507a49 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Replace Share with Rotate at fullscreen menu Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 88f3db323..56b0b7819 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -126,6 +126,7 @@ Permitir controlo do volume e brilho dos vídeos através de gestos verticais Substituir a opção Partilhar pela opção Rodar se em ecrã completo Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index c1ab240a6..35520e679 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -126,6 +126,7 @@ Управлять громкостью и яркостью видео с помощью вертикальных жестов Заменить \'Поделиться\' на \'Повернуть\' в меню полноэкранного режима Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 03f404c28..7844e7df6 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -126,12 +126,13 @@ Povoliť ovládanie hlasitosti a jasu videí vertikálnymi ťahmi Nahradiť Zdieľanie s Otočením v celoobrazovkovom menu Zobraziť rozšírené vlastnosti ponad celoobrazovkové médiá + Spravovať rozšírené vlastnosti Galéria na prezeranie obrázkov a videí bez reklám. - Jednoduchá nástroj použiteľný na prezeranie obrázkov a videí. Položky môžu byť zoradené podľa dátumu, veľkosti, názvu oboma smermi, obrázky je možné aj priblížiť. Položky sú zobrazované vo viacerých stĺpcoch v závislosti od veľkosti displeja, počet stĺpcov je možné meniť pomocou gesta prstami. Súbory môžete premenovať, zdieľať, mazať, kopírovať, premiestňovaŤ. Obrázky môžete orezať, otočiť, alebo nastaviť ako tapeta priamo v aplikácií. + Jednoduchá nástroj použiteľný na prezeranie obrázkov a videí. Položky môžu byť zoradené podľa dátumu, veľkosti, názvu oboma smermi, obrázky je možné aj priblížiť. Položky sú zobrazované vo viacerých stĺpcoch v závislosti od veľkosti displeja, počet stĺpcov je možné meniť pomocou gesta prstami. Súbory môžete premenovať, zdieľať, mazať, kopírovať, premiestňovať. Obrázky môžete orezať, otočiť, alebo nastaviť ako tapeta priamo v aplikácií. Galéria je tiež poskytovaná pre použitie treťou stranou pre prehliadanie fotiek a videí, pridávanie príloh v emailových klientoch. Je perfektná na každodenné použitie. diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 22c827185..2c05e7437 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -126,6 +126,7 @@ Tillåt styrning av videovolym och videoljusstyrka med vertikala gester Ersätt Dela med Rotera i helskärmsmenyn Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index b24c0198c..350a1cc73 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Replace Share with Rotate at fullscreen menu Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 859dc941e..299b82fe9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures 替换全屏时菜单栏的“分享”为“旋转” Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8b186d229..1f454c722 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -126,6 +126,7 @@ 允許用上下手勢來控制影片的音量和亮度 將全螢幕選單的分享取代為旋轉 Show extended details over fullscreen media + Manage extended details diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 43594c96c..f4ee43fa2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -126,6 +126,7 @@ Allow controlling video volume and brightness with vertical gestures Replace Share with Rotate at fullscreen menu Show extended details over fullscreen media + Manage extended details