|
@@ -16,10 +16,7 @@ import com.kdanmobile.kmpdfkit.globaldata.AnnotConfig
|
|
|
import com.kdanmobile.kmpdfkit.globaldata.Config
|
|
|
import com.kdanmobile.kmpdfkit.globaldata.KMPDFAnnotEditMode
|
|
|
import com.kdanmobile.kmpdfkit.manager.KMPDFFactory
|
|
|
-import com.kdanmobile.kmpdfkit.manager.controller.KMPDFDocumentController
|
|
|
-import com.kdanmobile.kmpdfkit.manager.controller.KMPDFFreeTextController
|
|
|
-import com.kdanmobile.kmpdfkit.manager.controller.KMPDFLongPressCreateAnnotController
|
|
|
-import com.kdanmobile.kmpdfkit.manager.controller.KMPDFSignatureController
|
|
|
+import com.kdanmobile.kmpdfkit.manager.controller.*
|
|
|
import com.kdanmobile.kmpdfkit.manager.listener.KMPDFAddAnnotCallback
|
|
|
import com.kdanmobile.kmpdfkit.manager.listener.KMPDFAnnotEditModeChangeListener
|
|
|
import com.kdanmobile.kmpdfkit.pdfcommon.Bookmark
|
|
@@ -342,6 +339,9 @@ class ReaderViewModel(private val pdfSdkLicense: String, private val pdfSdkRsaMs
|
|
|
}
|
|
|
|
|
|
setLongPressContextMenuActions()
|
|
|
+ setSignatureContextMenuActions()
|
|
|
+ setStampContextMenuActions()
|
|
|
+ setShapeContextMenuActions()
|
|
|
|
|
|
if (!isFirst) {
|
|
|
restoreStateBeforeDestroy()
|
|
@@ -355,7 +355,51 @@ class ReaderViewModel(private val pdfSdkLicense: String, private val pdfSdkRsaMs
|
|
|
item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
(kmpdfFactory?.getController(KMPDFFactory.ControllerType.LONGCLICK) as KMPDFLongPressCreateAnnotController).longPress_Paste()
|
|
|
annotationEitModeLiveData.postValue(KMPDFAnnotEditMode.Mode.FREETEXT_MODIFY)
|
|
|
+ return@MenuItemCallback true
|
|
|
+ })
|
|
|
+ kmpdfFactory?.setAnnotationContextMenu(item)
|
|
|
+ }
|
|
|
|
|
|
+ private fun setSignatureContextMenuActions() {
|
|
|
+ val item = KMPDFMenuItem()
|
|
|
+ item.annotType = KMPDFMenuItem.AnnotType.SIGNATURE
|
|
|
+ item.menu_resId = R.menu.context_menu_signature
|
|
|
+ item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
+ (kmpdfFactory?.getController(KMPDFFactory.ControllerType.SIGNATURE) as KMPDFSignatureController).deleteSignatureAnnotView()
|
|
|
+ return@MenuItemCallback true
|
|
|
+ })
|
|
|
+ item.menuCallbacks.add(MenuItemCallback { view, annotType ->
|
|
|
+ (kmpdfFactory?.getController(KMPDFFactory.ControllerType.SIGNATURE) as KMPDFSignatureController).saveSignatureAnnot()
|
|
|
+ return@MenuItemCallback true
|
|
|
+ })
|
|
|
+ kmpdfFactory?.setAnnotationContextMenu(item)
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun setStampContextMenuActions() {
|
|
|
+ val item = KMPDFMenuItem()
|
|
|
+ item.annotType = KMPDFMenuItem.AnnotType.STAMP
|
|
|
+ item.menu_resId = R.menu.context_menu_stamp
|
|
|
+ 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.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)
|