|
@@ -29,7 +29,6 @@ import com.kdanmobile.reader.screen.data.SignatureAttribute
|
|
|
import com.kdanmobile.reader.screen.data.StampAttribute
|
|
|
import com.kdanmobile.reader.screen.data.TextBoxAttribute
|
|
|
import com.kdanmobile.reader.screen.handler.*
|
|
|
-import com.kdanmobile.reader.thumb.PdfThumbViewModel
|
|
|
import java.io.File
|
|
|
import java.util.*
|
|
|
import kotlin.collections.ArrayList
|
|
@@ -377,6 +376,8 @@ class ReaderViewModel(private val pdfSdkLicense: String, private val pdfSdkRsaMs
|
|
|
setSignatureContextMenuActions()
|
|
|
setStampContextMenuActions()
|
|
|
setShapeContextMenuActions()
|
|
|
+ setInkMenuActions()
|
|
|
+ setMarkerUpMenuActions()
|
|
|
|
|
|
if (!isFirst) {
|
|
|
restoreStateBeforeDestroy()
|
|
@@ -413,29 +414,53 @@ class ReaderViewModel(private val pdfSdkLicense: String, private val pdfSdkRsaMs
|
|
|
private fun setStampContextMenuActions() {
|
|
|
val item = KMPDFMenuItem()
|
|
|
item.annotType = KMPDFMenuItem.AnnotType.STAMP
|
|
|
- item.menu_resId = R.menu.context_menu_stamp
|
|
|
+ item.menu_resId = R.menu.context_menu_normal
|
|
|
item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
(kmpdfFactory?.getController(KMPDFFactory.ControllerType.STAMP) as KMPDFStampController).deleteStampAnnotView()
|
|
|
return@MenuItemCallback true
|
|
|
})
|
|
|
- item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
- saveModifyingAnnotation()
|
|
|
- return@MenuItemCallback true
|
|
|
- })
|
|
|
kmpdfFactory?.setAnnotationContextMenu(item)
|
|
|
}
|
|
|
|
|
|
private fun setShapeContextMenuActions() {
|
|
|
val item = KMPDFMenuItem()
|
|
|
item.annotType = KMPDFMenuItem.AnnotType.LINE
|
|
|
- item.menu_resId = R.menu.context_menu_shape
|
|
|
+ item.menu_resId = R.menu.context_menu_normal
|
|
|
item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
(kmpdfFactory?.getController(KMPDFFactory.ControllerType.SHAPE) as KMPDFShapeAnnotController).deleteShapeAnnotView()
|
|
|
return@MenuItemCallback true
|
|
|
})
|
|
|
- item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
- saveModifyingAnnotation()
|
|
|
- return@MenuItemCallback true
|
|
|
+ kmpdfFactory?.setAnnotationContextMenu(item)
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun setInkMenuActions() {
|
|
|
+ val item = KMPDFMenuItem()
|
|
|
+ item.annotType = KMPDFMenuItem.AnnotType.INK
|
|
|
+ item.menu_resId = R.menu.context_menu_normal
|
|
|
+ item.menuCallbacks.add(MenuItemCallback { _, _ ->
|
|
|
+ kmpdfFactory?.let {
|
|
|
+ val controller = it.getController(KMPDFFactory.ControllerType.INK) as KMPDFInkController
|
|
|
+ controller.deleteInkAnnotView()
|
|
|
+ return@MenuItemCallback true
|
|
|
+ }
|
|
|
+ return@MenuItemCallback false
|
|
|
+ })
|
|
|
+ kmpdfFactory?.setAnnotationContextMenu(item)
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun setMarkerUpMenuActions() {
|
|
|
+ val item = KMPDFMenuItem()
|
|
|
+ /** Just set HIGH_LIGHT then highlight, strike, underline will be triggered. **/
|
|
|
+ /** WTF !!!!!!!!!!! **/
|
|
|
+ item.annotType = KMPDFMenuItem.AnnotType.HIGH_LIGHT
|
|
|
+ item.menu_resId = R.menu.context_menu_normal
|
|
|
+ item.menuCallbacks.add(MenuItemCallback { _, _ ->
|
|
|
+ kmpdfFactory?.let {
|
|
|
+ val controller = it.getController(KMPDFFactory.ControllerType.MARKER_UP) as KMPDFMarkupController
|
|
|
+ controller.deleteMarkupAnnotView()
|
|
|
+ return@MenuItemCallback true
|
|
|
+ }
|
|
|
+ return@MenuItemCallback false
|
|
|
})
|
|
|
kmpdfFactory?.setAnnotationContextMenu(item)
|
|
|
}
|