mirror of
https://github.com/SimpleMobileTools/Simple-File-Manager.git
synced 2025-06-05 22:09:15 +02:00
updating rename dialog
This commit is contained in:
@ -22,6 +22,7 @@ import com.simplemobiletools.filemanager.R
|
|||||||
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
||||||
import com.simplemobiletools.filemanager.dialogs.CopyDialog
|
import com.simplemobiletools.filemanager.dialogs.CopyDialog
|
||||||
import com.simplemobiletools.filemanager.dialogs.RenameItemDialog
|
import com.simplemobiletools.filemanager.dialogs.RenameItemDialog
|
||||||
|
import com.simplemobiletools.filemanager.extensions.config
|
||||||
import kotlinx.android.synthetic.main.list_item.view.*
|
import kotlinx.android.synthetic.main.list_item.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@ -30,7 +31,7 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List<FileDirItem>,
|
|||||||
RecyclerView.Adapter<ItemsAdapter.ViewHolder>() {
|
RecyclerView.Adapter<ItemsAdapter.ViewHolder>() {
|
||||||
val multiSelector = MultiSelector()
|
val multiSelector = MultiSelector()
|
||||||
val views = ArrayList<View>()
|
val views = ArrayList<View>()
|
||||||
val config = Config.newInstance(activity)
|
val config = activity.config
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
var actMode: ActionMode? = null
|
var actMode: ActionMode? = null
|
||||||
@ -96,12 +97,10 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: List<FileDirItem>,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun displayRenameDialog() {
|
private fun displayRenameDialog() {
|
||||||
RenameItemDialog(activity, getSelectedMedia()[0], object : RenameItemDialog.OnRenameItemListener {
|
RenameItemDialog(activity, getSelectedMedia()[0]) {
|
||||||
override fun onSuccess() {
|
listener?.refreshItems()
|
||||||
listener?.refreshItems()
|
actMode?.finish()
|
||||||
actMode?.finish()
|
}
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun showProperties() {
|
private fun showProperties() {
|
||||||
|
@ -4,9 +4,9 @@ import android.support.v4.util.Pair
|
|||||||
import android.support.v7.app.AlertDialog
|
import android.support.v7.app.AlertDialog
|
||||||
import com.simplemobiletools.commons.asynctasks.CopyMoveTask
|
import com.simplemobiletools.commons.asynctasks.CopyMoveTask
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.filemanager.Config
|
|
||||||
import com.simplemobiletools.filemanager.R
|
import com.simplemobiletools.filemanager.R
|
||||||
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
||||||
|
import com.simplemobiletools.filemanager.extensions.config
|
||||||
import kotlinx.android.synthetic.main.copy_item.view.*
|
import kotlinx.android.synthetic.main.copy_item.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@ -20,7 +20,7 @@ class CopyDialog(val activity: SimpleActivity, val files: ArrayList<File>, val c
|
|||||||
var destinationPath = ""
|
var destinationPath = ""
|
||||||
view.source.text = "${context.humanizePath(sourcePath)}/"
|
view.source.text = "${context.humanizePath(sourcePath)}/"
|
||||||
|
|
||||||
val config = Config.newInstance(context)
|
val config = context.config
|
||||||
/*view.destination.setOnClickListener {
|
/*view.destination.setOnClickListener {
|
||||||
FilePickerDialog(activity, destinationPath, false, config.showHidden, object : FilePickerDialog.OnFilePickerListener {
|
FilePickerDialog(activity, destinationPath, false, config.showHidden, object : FilePickerDialog.OnFilePickerListener {
|
||||||
override fun onFail(error: FilePickerDialog.FilePickerResult) {
|
override fun onFail(error: FilePickerDialog.FilePickerResult) {
|
||||||
|
@ -1,33 +1,29 @@
|
|||||||
package com.simplemobiletools.filemanager.dialogs
|
package com.simplemobiletools.filemanager.dialogs
|
||||||
|
|
||||||
import android.content.Context
|
import android.app.Activity
|
||||||
import android.support.v7.app.AlertDialog
|
import android.support.v7.app.AlertDialog
|
||||||
import android.view.LayoutInflater
|
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.models.FileDirItem
|
import com.simplemobiletools.commons.models.FileDirItem
|
||||||
import com.simplemobiletools.filemanager.Config
|
|
||||||
import com.simplemobiletools.filemanager.R
|
import com.simplemobiletools.filemanager.R
|
||||||
|
import com.simplemobiletools.filemanager.extensions.config
|
||||||
import kotlinx.android.synthetic.main.rename_item.view.*
|
import kotlinx.android.synthetic.main.rename_item.view.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class RenameItemDialog(val context: Context, val item: FileDirItem, val listener: OnRenameItemListener) {
|
class RenameItemDialog(val activity: Activity, val item: FileDirItem, val callback: () -> Unit) {
|
||||||
|
|
||||||
init {
|
init {
|
||||||
val view = LayoutInflater.from(context).inflate(R.layout.rename_item, null)
|
val view = activity.layoutInflater.inflate(R.layout.rename_item, null)
|
||||||
view.item_name.setText(item.name)
|
view.item_name.setText(item.name)
|
||||||
|
|
||||||
val path = File(item.path).parent
|
val path = File(item.path).parent
|
||||||
|
|
||||||
AlertDialog.Builder(context)
|
AlertDialog.Builder(activity)
|
||||||
.setTitle(context.resources.getString(R.string.rename_item))
|
|
||||||
.setView(view)
|
|
||||||
.setPositiveButton(R.string.ok, null)
|
.setPositiveButton(R.string.ok, null)
|
||||||
.setNegativeButton(R.string.cancel, null)
|
.setNegativeButton(R.string.cancel, null)
|
||||||
.create().apply {
|
.create().apply {
|
||||||
|
activity.setupDialogStuff(view, this, R.string.rename_item)
|
||||||
window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
|
window!!.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE)
|
||||||
setCanceledOnTouchOutside(true)
|
|
||||||
show()
|
|
||||||
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener({
|
getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener({
|
||||||
val newName = view.item_name.value
|
val newName = view.item_name.value
|
||||||
if (!newName.isAValidFilename()) {
|
if (!newName.isAValidFilename()) {
|
||||||
@ -44,7 +40,7 @@ class RenameItemDialog(val context: Context, val item: FileDirItem, val listener
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (context.needsStupidWritePermissions(path)) {
|
if (context.needsStupidWritePermissions(path)) {
|
||||||
val document = context.getFileDocument(currFile.absolutePath, Config.newInstance(context).treeUri) ?: return@setOnClickListener
|
val document = context.getFileDocument(currFile.absolutePath, context.config.treeUri) ?: return@setOnClickListener
|
||||||
if (document.canWrite())
|
if (document.canWrite())
|
||||||
document.renameTo(newName)
|
document.renameTo(newName)
|
||||||
sendSuccess(newFile)
|
sendSuccess(newFile)
|
||||||
@ -62,11 +58,7 @@ class RenameItemDialog(val context: Context, val item: FileDirItem, val listener
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun sendSuccess(newFile: File) {
|
private fun sendSuccess(newFile: File) {
|
||||||
context.scanFiles(arrayListOf(newFile)) {}
|
activity.scanFiles(arrayListOf(newFile)) {}
|
||||||
listener.onSuccess()
|
callback.invoke()
|
||||||
}
|
|
||||||
|
|
||||||
interface OnRenameItemListener {
|
|
||||||
fun onSuccess()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,7 @@ import com.simplemobiletools.filemanager.SCROLL_STATE
|
|||||||
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
import com.simplemobiletools.filemanager.activities.SimpleActivity
|
||||||
import com.simplemobiletools.filemanager.adapters.ItemsAdapter
|
import com.simplemobiletools.filemanager.adapters.ItemsAdapter
|
||||||
import com.simplemobiletools.filemanager.dialogs.CreateNewItemDialog
|
import com.simplemobiletools.filemanager.dialogs.CreateNewItemDialog
|
||||||
|
import com.simplemobiletools.filemanager.extensions.config
|
||||||
import kotlinx.android.synthetic.main.items_fragment.*
|
import kotlinx.android.synthetic.main.items_fragment.*
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@ -42,7 +43,7 @@ class ItemsFragment : android.support.v4.app.Fragment(), ItemsAdapter.ItemOperat
|
|||||||
|
|
||||||
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
mConfig = Config.newInstance(context)
|
mConfig = context.config
|
||||||
mShowHidden = mConfig.showHidden
|
mShowHidden = mConfig.showHidden
|
||||||
mItems = ArrayList<FileDirItem>()
|
mItems = ArrayList<FileDirItem>()
|
||||||
mToBeDeleted = ArrayList<String>()
|
mToBeDeleted = ArrayList<String>()
|
||||||
|
Reference in New Issue
Block a user