[feat] Display item(s) size in delete dialog
This commit is contained in:
parent
87c106a950
commit
a368db9b87
3 changed files with 33 additions and 10 deletions
|
@ -1104,7 +1104,11 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun askConfirmDelete() {
|
private fun askConfirmDelete() {
|
||||||
val filename = "\"${getCurrentPath().getFilenameFromPath()}\""
|
val path = getCurrentPath()
|
||||||
|
val fileDirItem = FileDirItem(path, path.getFilenameFromPath(), getIsPathDirectory(path))
|
||||||
|
val size = fileDirItem.getProperSize(this, countHidden = true).formatSize()
|
||||||
|
val filename = "\"${path.getFilenameFromPath()}\""
|
||||||
|
val filenameAndSize = "$filename ($size)"
|
||||||
|
|
||||||
val baseString = if (config.useRecycleBin && !getCurrentMedium()!!.getIsInRecycleBin()) {
|
val baseString = if (config.useRecycleBin && !getCurrentMedium()!!.getIsInRecycleBin()) {
|
||||||
R.string.move_to_recycle_bin_confirmation
|
R.string.move_to_recycle_bin_confirmation
|
||||||
|
@ -1112,7 +1116,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
|
||||||
R.string.deletion_confirmation
|
R.string.deletion_confirmation
|
||||||
}
|
}
|
||||||
|
|
||||||
val message = String.format(resources.getString(baseString), filename)
|
val message = String.format(resources.getString(baseString), filenameAndSize)
|
||||||
DeleteWithRememberDialog(this, message) {
|
DeleteWithRememberDialog(this, message) {
|
||||||
config.tempSkipDeleteConfirmation = it
|
config.tempSkipDeleteConfirmation = it
|
||||||
deleteConfirmed()
|
deleteConfirmed()
|
||||||
|
|
|
@ -593,11 +593,21 @@ class DirectoryAdapter(
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
val items = if (itemsCnt == 1) {
|
val itemsAndSize = if (itemsCnt == 1) {
|
||||||
|
val path = getSelectedPaths().first()
|
||||||
|
val fileDirItem = FileDirItem(path, path.getFilenameFromPath(), activity.getIsPathDirectory(path))
|
||||||
|
val size = fileDirItem.getProperSize(activity, countHidden = true).formatSize()
|
||||||
val folder = getSelectedPaths().first().getFilenameFromPath()
|
val folder = getSelectedPaths().first().getFilenameFromPath()
|
||||||
"\"$folder\""
|
"\"$folder\" ($size)"
|
||||||
} else {
|
} else {
|
||||||
resources.getQuantityString(R.plurals.delete_items, itemsCnt, itemsCnt)
|
val paths = getSelectedPaths()
|
||||||
|
val fileDirItems = ArrayList<FileDirItem>(paths.size)
|
||||||
|
paths.forEach {
|
||||||
|
val fileDirItem = FileDirItem(it, it.getFilenameFromPath(), activity.getIsPathDirectory(it))
|
||||||
|
fileDirItems.add(fileDirItem)
|
||||||
|
}
|
||||||
|
val size = fileDirItems.sumByLong { it.getProperSize(activity, countHidden = true) }.formatSize()
|
||||||
|
"${resources.getQuantityString(R.plurals.delete_items, itemsCnt, itemsCnt)} ($size)"
|
||||||
}
|
}
|
||||||
|
|
||||||
val fileDirItem = getFirstSelectedItem() ?: return
|
val fileDirItem = getFirstSelectedItem() ?: return
|
||||||
|
@ -607,7 +617,7 @@ class DirectoryAdapter(
|
||||||
R.string.move_to_recycle_bin_confirmation
|
R.string.move_to_recycle_bin_confirmation
|
||||||
}
|
}
|
||||||
|
|
||||||
val question = String.format(resources.getString(baseString), items)
|
val question = String.format(resources.getString(baseString), itemsAndSize)
|
||||||
val warning = resources.getQuantityString(R.plurals.delete_warning, itemsCnt, itemsCnt)
|
val warning = resources.getQuantityString(R.plurals.delete_warning, itemsCnt, itemsCnt)
|
||||||
ConfirmDeleteFolderDialog(activity, question, warning) {
|
ConfirmDeleteFolderDialog(activity, question, warning) {
|
||||||
deleteFolders()
|
deleteFolders()
|
||||||
|
|
|
@ -462,15 +462,24 @@ class MediaAdapter(
|
||||||
private fun askConfirmDelete() {
|
private fun askConfirmDelete() {
|
||||||
val itemsCnt = selectedKeys.size
|
val itemsCnt = selectedKeys.size
|
||||||
val firstPath = getSelectedPaths().first()
|
val firstPath = getSelectedPaths().first()
|
||||||
val items = if (itemsCnt == 1) {
|
val fileDirItem = FileDirItem(firstPath, firstPath.getFilenameFromPath(), activity.getIsPathDirectory(firstPath))
|
||||||
"\"${firstPath.getFilenameFromPath()}\""
|
val size = fileDirItem.getProperSize(activity, countHidden = true).formatSize()
|
||||||
|
val itemsAndSize = if (itemsCnt == 1) {
|
||||||
|
"\"${firstPath.getFilenameFromPath()}\" ($size)"
|
||||||
} else {
|
} else {
|
||||||
resources.getQuantityString(R.plurals.delete_items, itemsCnt, itemsCnt)
|
val paths = getSelectedPaths()
|
||||||
|
val fileDirItems = java.util.ArrayList<FileDirItem>(paths.size)
|
||||||
|
paths.forEach {
|
||||||
|
val fileDirItem = FileDirItem(it, it.getFilenameFromPath(), activity.getIsPathDirectory(it))
|
||||||
|
fileDirItems.add(fileDirItem)
|
||||||
|
}
|
||||||
|
val size = fileDirItems.sumByLong { it.getProperSize(activity, countHidden = true) }.formatSize()
|
||||||
|
"${resources.getQuantityString(R.plurals.delete_items, itemsCnt, itemsCnt)} ($size)"
|
||||||
}
|
}
|
||||||
|
|
||||||
val isRecycleBin = firstPath.startsWith(activity.recycleBinPath)
|
val isRecycleBin = firstPath.startsWith(activity.recycleBinPath)
|
||||||
val baseString = if (config.useRecycleBin && !isRecycleBin) R.string.move_to_recycle_bin_confirmation else R.string.deletion_confirmation
|
val baseString = if (config.useRecycleBin && !isRecycleBin) R.string.move_to_recycle_bin_confirmation else R.string.deletion_confirmation
|
||||||
val question = String.format(resources.getString(baseString), items)
|
val question = String.format(resources.getString(baseString), itemsAndSize)
|
||||||
DeleteWithRememberDialog(activity, question) {
|
DeleteWithRememberDialog(activity, question) {
|
||||||
config.tempSkipDeleteConfirmation = it
|
config.tempSkipDeleteConfirmation = it
|
||||||
deleteFiles()
|
deleteFiles()
|
||||||
|
|
Loading…
Reference in a new issue