mirror of
https://github.com/FossifyOrg/Gallery.git
synced 2024-11-26 22:47:59 +01:00
create a new confirmation dialog for excluding folders
This commit is contained in:
parent
7844bf5f9b
commit
77d203214a
4 changed files with 85 additions and 15 deletions
|
@ -21,6 +21,7 @@ import com.simplemobiletools.gallery.R
|
|||
import com.simplemobiletools.gallery.adapters.MediaAdapter
|
||||
import com.simplemobiletools.gallery.asynctasks.GetMediaAsynctask
|
||||
import com.simplemobiletools.gallery.dialogs.ChangeSortingDialog
|
||||
import com.simplemobiletools.gallery.dialogs.ExcludeFolderDialog
|
||||
import com.simplemobiletools.gallery.extensions.*
|
||||
import com.simplemobiletools.gallery.helpers.*
|
||||
import com.simplemobiletools.gallery.models.Medium
|
||||
|
@ -193,14 +194,12 @@ class MediaActivity : SimpleActivity(), MediaAdapter.MediaOperationsListener {
|
|||
}
|
||||
|
||||
private fun tryExcludeFolder() {
|
||||
ConfirmationDialog(this, getString(R.string.exclude_folder_description)) {
|
||||
excludeFolder()
|
||||
}
|
||||
}
|
||||
val pathSet = HashSet<String>(1)
|
||||
pathSet.add(mPath)
|
||||
|
||||
private fun excludeFolder() {
|
||||
config.addExcludedFolder(mPath)
|
||||
finish()
|
||||
ExcludeFolderDialog(this, pathSet) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
private fun deleteDirectoryIfEmpty() {
|
||||
|
|
|
@ -19,6 +19,7 @@ import com.simplemobiletools.commons.extensions.*
|
|||
import com.simplemobiletools.gallery.R
|
||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||
import com.simplemobiletools.gallery.dialogs.CopyDialog
|
||||
import com.simplemobiletools.gallery.dialogs.ExcludeFolderDialog
|
||||
import com.simplemobiletools.gallery.dialogs.RenameDirectoryDialog
|
||||
import com.simplemobiletools.gallery.extensions.*
|
||||
import com.simplemobiletools.gallery.models.Directory
|
||||
|
@ -196,17 +197,12 @@ class DirectoryAdapter(val activity: SimpleActivity, val dirs: MutableList<Direc
|
|||
}
|
||||
|
||||
private fun tryExcludeFolder() {
|
||||
ConfirmationDialog(activity, activity.getString(R.string.exclude_folder_description)) {
|
||||
excludeFolder()
|
||||
ExcludeFolderDialog(activity, getSelectedPaths()) {
|
||||
listener?.refreshItems()
|
||||
actMode?.finish()
|
||||
}
|
||||
}
|
||||
|
||||
private fun excludeFolder() {
|
||||
activity.config.addExcludedFolders(getSelectedPaths())
|
||||
listener?.refreshItems()
|
||||
actMode?.finish()
|
||||
}
|
||||
|
||||
private fun noMediaHandled() {
|
||||
activity.runOnUiThread {
|
||||
listener?.refreshItems()
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package com.simplemobiletools.gallery.dialogs
|
||||
|
||||
import android.support.v7.app.AlertDialog
|
||||
import android.view.LayoutInflater
|
||||
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.gallery.R
|
||||
import com.simplemobiletools.gallery.activities.SimpleActivity
|
||||
import kotlinx.android.synthetic.main.dialog_exclude_folder.view.*
|
||||
|
||||
class ExcludeFolderDialog(val activity: SimpleActivity, val selectedPaths: HashSet<String>, val callback: () -> Unit) {
|
||||
var dialog: AlertDialog? = null
|
||||
|
||||
init {
|
||||
val alternativePaths = getAlternativePaths()
|
||||
val view = LayoutInflater.from(activity).inflate(R.layout.dialog_exclude_folder, null).apply {
|
||||
exclude_folder_parent.beVisibleIf(alternativePaths.size > 1)
|
||||
exclude_folder_radio_group.beVisibleIf(alternativePaths.size > 1)
|
||||
}
|
||||
|
||||
AlertDialog.Builder(activity)
|
||||
.setPositiveButton(R.string.ok, { dialog, which -> dialogConfirmed() })
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.create().apply {
|
||||
activity.setupDialogStuff(view, this)
|
||||
}
|
||||
}
|
||||
|
||||
private fun dialogConfirmed() {
|
||||
|
||||
}
|
||||
|
||||
private fun getAlternativePaths(): ArrayList<String> {
|
||||
val parentsList = ArrayList<String>()
|
||||
if (selectedPaths.size > 1)
|
||||
return parentsList
|
||||
|
||||
return parentsList
|
||||
}
|
||||
}
|
35
app/src/main/res/layout/dialog_exclude_folder.xml
Normal file
35
app/src/main/res/layout/dialog_exclude_folder.xml
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/exclude_folder_scrollview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/exclude_folder_holder"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:padding="@dimen/activity_margin">
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/exclude_folder_description"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/exclude_folder_description"
|
||||
android:textSize="@dimen/bigger_text_size"/>
|
||||
|
||||
<com.simplemobiletools.commons.views.MyTextView
|
||||
android:id="@+id/exclude_folder_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/exclude_folder_parent"/>
|
||||
|
||||
<RadioGroup
|
||||
android:id="@+id/exclude_folder_radio_group"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
</RadioGroup>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
Loading…
Reference in a new issue