From 848c6c56679f25e6ae453c3bd573f97f1244001c Mon Sep 17 00:00:00 2001 From: tibbi Date: Tue, 5 Sep 2017 16:29:51 +0200 Subject: [PATCH] show an error toast earlier if every media is filtered out at slideshow --- .../gallery/dialogs/SlideshowDialog.kt | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SlideshowDialog.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SlideshowDialog.kt index 60923a220..d4753c047 100644 --- a/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SlideshowDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/gallery/dialogs/SlideshowDialog.kt @@ -6,6 +6,7 @@ import android.view.View import android.view.WindowManager import com.simplemobiletools.commons.extensions.hideKeyboard import com.simplemobiletools.commons.extensions.setupDialogStuff +import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.gallery.R import com.simplemobiletools.gallery.activities.SimpleActivity import com.simplemobiletools.gallery.extensions.config @@ -14,7 +15,6 @@ import kotlinx.android.synthetic.main.dialog_slideshow.view.* class SlideshowDialog(val activity: SimpleActivity, val callback: () -> Unit) { - val dialog: AlertDialog val view: View init { @@ -64,12 +64,22 @@ class SlideshowDialog(val activity: SimpleActivity, val callback: () -> Unit) { } setupValues() - dialog = AlertDialog.Builder(activity) - .setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() }) + AlertDialog.Builder(activity) + .setPositiveButton(R.string.ok, null) .setNegativeButton(R.string.cancel, null) .create().apply { window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN) activity.setupDialogStuff(view, this) + getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener({ + if (!view.include_photos.isChecked && !view.include_videos.isChecked && !view.include_gifs.isChecked) { + activity.toast(R.string.no_media_for_slideshow) + return@setOnClickListener + } + + storeValues() + callback() + dismiss() + }) } } @@ -86,7 +96,7 @@ class SlideshowDialog(val activity: SimpleActivity, val callback: () -> Unit) { } } - private fun dialogConfirmed() { + private fun storeValues() { var interval = view.interval_value.text.toString() if (interval.trim('0').isEmpty()) interval = SLIDESHOW_DEFAULT_INTERVAL.toString() @@ -100,7 +110,5 @@ class SlideshowDialog(val activity: SimpleActivity, val callback: () -> Unit) { slideshowUseFade = view.use_fade.isChecked slideshowMoveBackwards = view.move_backwards.isChecked } - dialog.dismiss() - callback() } }