add copy image to clipboard

This commit is contained in:
counter185 2024-12-22 23:28:10 +01:00
parent c58f9f6752
commit b0968a5d77
2 changed files with 16 additions and 2 deletions

View file

@ -4,8 +4,7 @@ import android.animation.Animator
import android.animation.ValueAnimator
import android.annotation.SuppressLint
import android.app.Activity
import android.content.ActivityNotFoundException
import android.content.Intent
import android.content.*
import android.content.pm.ActivityInfo
import android.content.pm.ShortcutInfo
import android.content.pm.ShortcutManager
@ -171,6 +170,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
findItem(R.id.menu_rename).isVisible = visibleBottomActions and BOTTOM_ACTION_RENAME == 0 && !currentMedium.getIsInRecycleBin()
findItem(R.id.menu_rotate).isVisible = currentMedium.isImage() && visibleBottomActions and BOTTOM_ACTION_ROTATE == 0
findItem(R.id.menu_set_as).isVisible = visibleBottomActions and BOTTOM_ACTION_SET_AS == 0
findItem(R.id.menu_copy_to_clipboard).isVisible = true
findItem(R.id.menu_copy_to).isVisible = visibleBottomActions and BOTTOM_ACTION_COPY == 0
findItem(R.id.menu_move_to).isVisible = visibleBottomActions and BOTTOM_ACTION_MOVE == 0
findItem(R.id.menu_save_as).isVisible = rotationDegrees != 0
@ -249,6 +249,7 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
R.id.menu_create_shortcut -> createShortcut()
R.id.menu_resize -> resizeImage()
R.id.menu_settings -> launchSettings()
R.id.menu_copy_to_clipboard -> copyImageToClipboard()
else -> return@setOnMenuItemClickListener false
}
return@setOnMenuItemClickListener true
@ -1039,6 +1040,14 @@ class ViewPagerActivity : SimpleActivity(), ViewPager.OnPageChangeListener, View
launchResizeImageDialog(oldPath)
}
private fun copyImageToClipboard() {
val clipboard = getSystemService(ClipboardManager::class.java) as ClipboardManager
val imagePath = getCurrentMedium()?.path ?: return
val clip = ClipData.newUri(contentResolver, "Image", getFinalUriFromPath(imagePath, BuildConfig.APPLICATION_ID))
clipboard.setPrimaryClip(clip)
}
private fun checkDeleteConfirmation() {
if (getCurrentMedium() == null) {
return

View file

@ -56,6 +56,11 @@
android:icon="@drawable/ic_unhide_vector"
android:title="@string/unhide"
app:showAsAction="ifRoom" />
<item
android:id="@+id/menu_copy_to_clipboard"
android:showAsAction="never"
android:title="@string/copy_to_clipboard"
app:showAsAction="never" />
<item
android:id="@+id/menu_copy_to"
android:showAsAction="never"