diff --git a/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/ClipboardTool.kt b/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/ClipboardTool.kt
index 8b584f4f7c..00feeb7563 100644
--- a/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/ClipboardTool.kt
+++ b/Paintroid/src/main/java/org/catrobat/paintroid/tools/implementation/ClipboardTool.kt
@@ -93,6 +93,10 @@ class ClipboardTool(
highlightBox()
pasteBoxContent()
}
+
+ override fun clearClicked() {
+ clearClipboardContent()
+ }
}
clipboardToolOptionsView.setCallback(callback)
toolOptionsViewController.showDelayed()
@@ -139,6 +143,13 @@ class ClipboardTool(
commandManager.addCommand(command)
}
+ private fun clearClipboardContent() {
+ drawingBitmap?.recycle()
+ drawingBitmap = null
+ readyForPaste = false
+ clipboardToolOptionsView.enablePaste(false)
+ }
+
override fun onClickOnButton() {
if (!readyForPaste || drawingBitmap == null) {
contextCallback.showNotification(R.string.clipboard_tool_copy_hint)
diff --git a/Paintroid/src/main/java/org/catrobat/paintroid/tools/options/ClipboardToolOptionsView.kt b/Paintroid/src/main/java/org/catrobat/paintroid/tools/options/ClipboardToolOptionsView.kt
index 77a6255d26..7125ef29c6 100644
--- a/Paintroid/src/main/java/org/catrobat/paintroid/tools/options/ClipboardToolOptionsView.kt
+++ b/Paintroid/src/main/java/org/catrobat/paintroid/tools/options/ClipboardToolOptionsView.kt
@@ -37,5 +37,7 @@ interface ClipboardToolOptionsView {
fun cutClicked()
fun pasteClicked()
+
+ fun clearClicked()
}
}
diff --git a/Paintroid/src/main/java/org/catrobat/paintroid/ui/tools/DefaultClipboardToolOptionsView.kt b/Paintroid/src/main/java/org/catrobat/paintroid/ui/tools/DefaultClipboardToolOptionsView.kt
index 8a99d22e30..9e27797190 100644
--- a/Paintroid/src/main/java/org/catrobat/paintroid/ui/tools/DefaultClipboardToolOptionsView.kt
+++ b/Paintroid/src/main/java/org/catrobat/paintroid/ui/tools/DefaultClipboardToolOptionsView.kt
@@ -30,6 +30,7 @@ class DefaultClipboardToolOptionsView(rootView: ViewGroup) : ClipboardToolOption
private val pasteChip: Chip
private val copyChip: Chip
private val cutChip: Chip
+ private val clearChip: Chip
private val shapeSizeChip: Chip
private val changeSizeShapeSizeChip: Chip
private val clipboardToolOptionsView: View
@@ -49,6 +50,10 @@ class DefaultClipboardToolOptionsView(rootView: ViewGroup) : ClipboardToolOption
pasteChip.setOnClickListener {
callback?.pasteClicked()
}
+
+ clearChip.setOnClickListener {
+ callback?.clearClicked()
+ }
}
override fun setCallback(callback: ClipboardToolOptionsView.Callback) {
@@ -81,8 +86,9 @@ class DefaultClipboardToolOptionsView(rootView: ViewGroup) : ClipboardToolOption
val stampToolOptionsView: View =
inflater.inflate(R.layout.dialog_pocketpaint_clipboard_tool, rootView)
copyChip = stampToolOptionsView.findViewById(R.id.action_copy)
- pasteChip = stampToolOptionsView.findViewById(R.id.action_paste)
cutChip = stampToolOptionsView.findViewById(R.id.action_cut)
+ pasteChip = stampToolOptionsView.findViewById(R.id.action_paste)
+ clearChip = stampToolOptionsView.findViewById(R.id.action_clear)
enablePaste(false)
initializeListeners()
stampToolOptionsView.run {
diff --git a/Paintroid/src/main/res/layout/dialog_pocketpaint_clipboard_tool.xml b/Paintroid/src/main/res/layout/dialog_pocketpaint_clipboard_tool.xml
index 5baf9ee945..54992c8b2d 100644
--- a/Paintroid/src/main/res/layout/dialog_pocketpaint_clipboard_tool.xml
+++ b/Paintroid/src/main/res/layout/dialog_pocketpaint_clipboard_tool.xml
@@ -64,6 +64,23 @@
app:chipIcon="@drawable/ic_pocketpaint_paste_chip_icon_selector"
app:chipStartPadding="8dp" />
+
+
+
+
Paste
Copy
Cut
+ Clear
Stickers
@string/button_import_image