Skip to content

Commit 68f975a

Browse files
committed
fix #89, allow copying file/folder path to clipboard
1 parent 0ec24fd commit 68f975a

File tree

19 files changed

+51
-0
lines changed

19 files changed

+51
-0
lines changed

app/src/main/kotlin/com/simplemobiletools/filemanager/adapters/ItemsAdapter.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.simplemobiletools.filemanager.adapters
22

3+
import android.content.ClipData
4+
import android.content.ClipboardManager
5+
import android.content.Context
36
import android.graphics.drawable.Drawable
47
import android.net.Uri
58
import android.os.Build
@@ -107,6 +110,7 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
107110
R.id.cab_rename -> displayRenameDialog()
108111
R.id.cab_properties -> showProperties()
109112
R.id.cab_share -> shareFiles()
113+
R.id.cab_copy_path -> copyPath()
110114
R.id.cab_copy_to -> copyMoveTo(true)
111115
R.id.cab_move_to -> copyMoveTo(false)
112116
R.id.cab_compress -> compressSelection()
@@ -129,6 +133,7 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
129133
menu.findItem(R.id.cab_rename).isVisible = selectedPositions.size <= 1
130134
menu.findItem(R.id.cab_decompress).isVisible = getSelectedMedia().map { it.path }.any { it.isZipFile() }
131135
menu.findItem(R.id.cab_confirm_selection).isVisible = isPickMultipleIntent
136+
menu.findItem(R.id.cab_copy_path).isVisible = selectedPositions.size <= 1
132137
return true
133138
}
134139

@@ -185,6 +190,14 @@ class ItemsAdapter(val activity: SimpleActivity, var mItems: MutableList<FileDir
185190
}
186191
}
187192

193+
private fun copyPath() {
194+
val path = getSelectedMedia().first().path
195+
val clip = ClipData.newPlainText(activity.getString(R.string.app_name), path)
196+
(activity.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager).primaryClip = clip
197+
actMode?.finish()
198+
activity.toast(R.string.path_copied)
199+
}
200+
188201
private fun copyMoveTo(isCopyOperation: Boolean) {
189202
val files = ArrayList<File>()
190203
selectedPositions.forEach { files.add(File(mItems[it].path)) }

app/src/main/res/menu/cab.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@
2121
android:icon="@drawable/ic_share"
2222
android:title="@string/share"
2323
app:showAsAction="ifRoom"/>
24+
<item
25+
android:id="@+id/cab_copy_path"
26+
android:title="@string/copy_path"
27+
app:showAsAction="never"/>
2428
<item
2529
android:id="@+id/cab_copy_to"
2630
android:title="@string/copy_to"

app/src/main/res/values-cs/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Jít do domovské složky</string>
88
<string name="set_as_home_folder">Nastavit jako domovskou složku</string>
99
<string name="home_folder_updated">Domovská složka aktualizována</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Compress</string>

app/src/main/res/values-de/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Gehe zum Home Ordner</string>
88
<string name="set_as_home_folder">Als Home Ordner setzen</string>
99
<string name="home_folder_updated">Home Ordner geupdated</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Komprimieren</string>

app/src/main/res/values-es/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Ir a carpeta principal</string>
88
<string name="set_as_home_folder">Establecer como carpeta principal</string>
99
<string name="home_folder_updated">Carpeta principal actualizada</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Compress</string>

app/src/main/res/values-fr/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Aller au dossier par défaut</string>
88
<string name="set_as_home_folder">Définir en tant que dossier par défaut</string>
99
<string name="home_folder_updated">Dossier par défaut mis à jour</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Compresser</string>

app/src/main/res/values-hu/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Ugrás a kezdőmappára</string>
88
<string name="set_as_home_folder">Beállítás kezdőmappának</string>
99
<string name="home_folder_updated">Kezdőmappa frissítve</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Compress</string>

app/src/main/res/values-it/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Vai alla cartella home</string>
88
<string name="set_as_home_folder">Imposta come cartella home</string>
99
<string name="home_folder_updated">Cartella home aggiornata</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Comprimi</string>

app/src/main/res/values-ja/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">Go to home folder</string>
88
<string name="set_as_home_folder">Set as home folder</string>
99
<string name="home_folder_updated">Home folder updated</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Compress</string>

app/src/main/res/values-ko-rKR/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
<string name="go_to_home_folder">홈 폴더 이동</string>
88
<string name="set_as_home_folder">홈 폴더 설정</string>
99
<string name="home_folder_updated">홈 폴더 설정완료</string>
10+
<string name="copy_path">Copy path to clipboard</string>
11+
<string name="path_copied">Path copied</string>
1012

1113
<!-- Compression -->
1214
<string name="compress">Compress</string>

0 commit comments

Comments
 (0)