Browse Source

New MenuItems in context menu

cooperku_kdanmobile 6 years ago
parent
commit
1f7d26b9ed

+ 48 - 4
src/main/java/com/kdanmobile/reader/ReaderViewModel.kt

@@ -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)

+ 1 - 1
src/main/res/menu/context_menu_longpress.xml

@@ -2,6 +2,6 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 
     <item
-        android:title="@string/context_menu_paste" />
+        android:title="@string/contextMenu_longPress_paste" />
 
 </menu>

+ 10 - 0
src/main/res/menu/context_menu_shape.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item
+        android:title="@string/contextMenu_shape_delete" />
+
+    <item
+        android:title="@string/contextMenu_shape_ok" />
+
+</menu>

+ 10 - 0
src/main/res/menu/context_menu_signature.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <item
+        android:title="@string/contextMenu_signature_delete" />
+
+    <item
+        android:title="@string/contextMenu_signature_add" />
+
+</menu>

+ 10 - 0
src/main/res/menu/context_menu_stamp.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+<item
+    android:title="@string/contextMenu_stamp_delete" />
+
+<item
+    android:title="@string/contextMenu_stamp_ok" />
+
+</menu>

+ 3 - 3
src/main/res/menu/context_menu_textbox.xml

@@ -2,15 +2,15 @@
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 
     <item
-        android:title="@string/context_menu_delete" />
+        android:title="@string/contextMenu_textbox_delete" />
 
     <item
         android:title="@string/contextMenu_textbox_style" />
 
     <item
-        android:title="@string/context_menu_edit" />
+        android:title="@string/contextMenu_textbox_edit" />
 
     <item
-        android:title="@string/context_menu_copy" />
+        android:title="@string/contextMenu_textbox_copy" />
 
 </menu>

+ 12 - 1
src/main/res/values-de/strings.xml

@@ -68,6 +68,17 @@
     <string name="reader_mediaBox_snakebar_undo">RÜCKGÄNGIG</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">Anwenden</string>
     <string name="reader_mediaBox_textBoxModify_title">Stil</string>
-    <string name="contextMenu_textbox_style">Stil</string>
     <string name="reader_copy_text_success">Der ausgewählte Text wurde in der Zwischenablage gespeichert!</string>
+
+    <string name="contextMenu_longPress_paste">Einfügen</string>
+    <string name="contextMenu_textbox_delete">Löschen</string>
+    <string name="contextMenu_textbox_style">Stil</string>
+    <string name="contextMenu_textbox_edit">Bearbeiten</string>
+    <string name="contextMenu_textbox_copy">Kopieren</string>
+    <string name="contextMenu_signature_delete">Löschen</string>
+    <string name="contextMenu_signature_add">HINZUFÜGEN</string>
+    <string name="contextMenu_stamp_delete">Löschen</string>
+    <string name="contextMenu_stamp_ok">Ok</string>
+    <string name="contextMenu_shape_delete">Löschen</string>
+    <string name="contextMenu_shape_ok">Ok</string>
 </resources>

+ 12 - 1
src/main/res/values-es/strings.xml

@@ -67,6 +67,17 @@
     <string name="reader_mediaBox_snakebar_undo">ANULAR</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">Aplicar</string>
     <string name="reader_mediaBox_textBoxModify_title">Estilo</string>
-    <string name="contextMenu_textbox_style">Estilo</string>
     <string name="reader_copy_text_success">¡El texto seleccionado ha sido guardado en el portapapeles!</string>
+
+    <string name="contextMenu_longPress_paste">Pegar</string>
+    <string name="contextMenu_textbox_delete">Eliminar</string>
+    <string name="contextMenu_textbox_style">Estilo</string>
+    <string name="contextMenu_textbox_edit">Editar</string>
+    <string name="contextMenu_textbox_copy">Copia</string>
+    <string name="contextMenu_signature_delete">Eliminar</string>
+    <string name="contextMenu_signature_add">AGREGAR</string>
+    <string name="contextMenu_stamp_delete">Eliminar</string>
+    <string name="contextMenu_stamp_ok">De acuerdo</string>
+    <string name="contextMenu_shape_delete">Eliminar</string>
+    <string name="contextMenu_shape_ok">De acuerdo</string>
 </resources>

+ 12 - 1
src/main/res/values-fr/strings.xml

@@ -67,6 +67,17 @@
     <string name="reader_mediaBox_snakebar_undo">ANNULER</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">Appliquer</string>
     <string name="reader_mediaBox_textBoxModify_title">Style</string>
-    <string name="contextMenu_textbox_style">Style</string>
     <string name="reader_copy_text_success">Le texte sélectionné a été enregistré dans le presse-papiers !</string>
+
+    <string name="contextMenu_longPress_paste">Coller</string>
+    <string name="contextMenu_textbox_delete">Supprimer</string>
+    <string name="contextMenu_textbox_style">Style</string>
+    <string name="contextMenu_textbox_edit">Modifier</string>
+    <string name="contextMenu_textbox_copy">Copier</string>
+    <string name="contextMenu_signature_delete">Supprimer</string>
+    <string name="contextMenu_signature_add">AJOUTER</string>
+    <string name="contextMenu_stamp_delete">Supprimer</string>
+    <string name="contextMenu_stamp_ok">Ok</string>
+    <string name="contextMenu_shape_delete">Supprimer</string>
+    <string name="contextMenu_shape_ok">Ok</string>
 </resources>

+ 12 - 1
src/main/res/values-it/strings.xml

@@ -67,6 +67,17 @@
     <string name="reader_mediaBox_snakebar_undo">ANNULLA</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">Applicare</string>
     <string name="reader_mediaBox_textBoxModify_title">Lo stile</string>
-    <string name="contextMenu_textbox_style">Lo stile</string>
     <string name="reader_copy_text_success">Il testo selezionato è stato salvato negli appunti!</string>
+
+    <string name="contextMenu_longPress_paste">Incolla</string>
+    <string name="contextMenu_textbox_delete">Cancellare</string>
+    <string name="contextMenu_textbox_style">Lo stile</string>
+    <string name="contextMenu_textbox_edit">Modifica</string>
+    <string name="contextMenu_textbox_copy">Copia</string>
+    <string name="contextMenu_signature_delete">Cancellare</string>
+    <string name="contextMenu_signature_add">AGGIUNGERE</string>
+    <string name="contextMenu_stamp_delete">Cancellare</string>
+    <string name="contextMenu_stamp_ok">OK</string>
+    <string name="contextMenu_shape_delete">Cancellare</string>
+    <string name="contextMenu_shape_ok">OK</string>
 </resources>

+ 12 - 1
src/main/res/values-ja/strings.xml

@@ -66,6 +66,17 @@
     <string name="reader_mediaBox_snakebar_undo">元に戻す</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">適用</string>
     <string name="reader_mediaBox_textBoxModify_title">スタイル</string>
-    <string name="contextMenu_textbox_style">スタイル</string>
     <string name="reader_copy_text_success">選択したテキストはクリップボードに保存されました!</string>
+
+    <string name="contextMenu_longPress_paste">貼り付け</string>
+    <string name="contextMenu_textbox_delete">削除</string>
+    <string name="contextMenu_textbox_style">スタイル</string>
+    <string name="contextMenu_textbox_edit">編集</string>
+    <string name="contextMenu_textbox_copy">コピー</string>
+    <string name="contextMenu_signature_delete">削除</string>
+    <string name="contextMenu_signature_add">追加</string>
+    <string name="contextMenu_stamp_delete">削除</string>
+    <string name="contextMenu_stamp_ok">OK</string>
+    <string name="contextMenu_shape_delete">削除</string>
+    <string name="contextMenu_shape_ok">OK</string>
 </resources>

+ 12 - 1
src/main/res/values-ko/strings.xml

@@ -67,6 +67,17 @@
     <string name="reader_mediaBox_snakebar_undo">실행 취소</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">적용</string>
     <string name="reader_mediaBox_textBoxModify_title">스타일</string>
-    <string name="contextMenu_textbox_style">스타일</string>
     <string name="reader_copy_text_success">선택한 텍스트가 클립보드에 저장되었습니다!</string>
+
+    <string name="contextMenu_longPress_paste">붙여넣기</string>
+    <string name="contextMenu_textbox_delete">삭제</string>
+    <string name="contextMenu_textbox_style">스타일</string>
+    <string name="contextMenu_textbox_edit">편집</string>
+    <string name="contextMenu_textbox_copy">복사</string>
+    <string name="contextMenu_signature_delete">삭제</string>
+    <string name="contextMenu_signature_add">추가</string>
+    <string name="contextMenu_stamp_delete">삭제</string>
+    <string name="contextMenu_stamp_ok">확인</string>
+    <string name="contextMenu_shape_delete">삭제</string>
+    <string name="contextMenu_shape_ok">확인</string>
 </resources>

+ 12 - 1
src/main/res/values-pt/strings.xml

@@ -67,6 +67,17 @@
     <string name="reader_mediaBox_snakebar_undo">DESFAZER</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">Aplicar</string>
     <string name="reader_mediaBox_textBoxModify_title">Estilo</string>
-    <string name="contextMenu_textbox_style">Estilo</string>
     <string name="reader_copy_text_success">O texto selecionado foi salvo na área de transferência!</string>
+
+    <string name="contextMenu_longPress_paste">Colar</string>
+    <string name="contextMenu_textbox_delete">Apagar</string>
+    <string name="contextMenu_textbox_style">Estilo</string>
+    <string name="contextMenu_textbox_edit">Editar</string>
+    <string name="contextMenu_textbox_copy">Copiar</string>
+    <string name="contextMenu_signature_delete">Apagar</string>
+    <string name="contextMenu_signature_add">ADICIONAR</string>
+    <string name="contextMenu_stamp_delete">Apagar</string>
+    <string name="contextMenu_stamp_ok">ОК</string>
+    <string name="contextMenu_shape_delete">Apagar</string>
+    <string name="contextMenu_shape_ok">ОК</string>
 </resources>

+ 12 - 1
src/main/res/values-ru/strings.xml

@@ -67,6 +67,17 @@
     <string name="reader_mediaBox_snakebar_undo">ОТКАТ</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">Применить</string>
     <string name="reader_mediaBox_textBoxModify_title">Стиль</string>
-    <string name="contextMenu_textbox_style">Стиль</string>
     <string name="reader_copy_text_success">Выделенный текст был скопирован в буфер обмена!</string>
+
+    <string name="contextMenu_longPress_paste">Вставить</string>
+    <string name="contextMenu_textbox_delete">Удалить</string>
+    <string name="contextMenu_textbox_style">Стиль</string>
+    <string name="contextMenu_textbox_edit">Редактировать</string>
+    <string name="contextMenu_textbox_copy">Копировать</string>
+    <string name="contextMenu_signature_delete">Удалить</string>
+    <string name="contextMenu_signature_add">ДОБАВИТЬ</string>
+    <string name="contextMenu_stamp_delete">Удалить</string>
+    <string name="contextMenu_stamp_ok">ОК</string>
+    <string name="contextMenu_shape_delete">Удалить</string>
+    <string name="contextMenu_shape_ok">ОК</string>
 </resources>

+ 11 - 0
src/main/res/values-zh-rTW/strings.xml

@@ -68,5 +68,16 @@
     <string name="reader_mediaBox_snakebar_undo">取消</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">套用</string>
     <string name="reader_mediaBox_textBoxModify_title">樣式</string>
+
+    <string name="contextMenu_longPress_paste">貼上</string>
+    <string name="contextMenu_textbox_delete">删除</string>
     <string name="contextMenu_textbox_style">樣式</string>
+    <string name="contextMenu_textbox_edit">編輯</string>
+    <string name="contextMenu_textbox_copy">複製</string>
+    <string name="contextMenu_signature_delete">删除</string>
+    <string name="contextMenu_signature_add">新增</string>
+    <string name="contextMenu_stamp_delete">删除</string>
+    <string name="contextMenu_stamp_ok">確定</string>
+    <string name="contextMenu_shape_delete">删除</string>
+    <string name="contextMenu_shape_ok">確定</string>
 </resources>

+ 11 - 0
src/main/res/values-zh/strings.xml

@@ -68,5 +68,16 @@
     <string name="reader_mediaBox_snakebar_undo">取消</string>
     <string name="reader_mediaBox_textBoxModify_btnApply">使用</string>
     <string name="reader_mediaBox_textBoxModify_title">风格</string>
+
+    <string name="contextMenu_longPress_paste">粘贴</string>
+    <string name="contextMenu_textbox_delete">删除</string>
     <string name="contextMenu_textbox_style">风格</string>
+    <string name="contextMenu_textbox_edit">编辑</string>
+    <string name="contextMenu_textbox_copy">复制</string>
+    <string name="contextMenu_signature_delete">删除</string>
+    <string name="contextMenu_signature_add">新增</string>
+    <string name="contextMenu_stamp_delete">删除</string>
+    <string name="contextMenu_stamp_ok">确定</string>
+    <string name="contextMenu_shape_delete">删除</string>
+    <string name="contextMenu_shape_ok">确定</string>
 </resources>

+ 10 - 0
src/main/res/values/strings.xml

@@ -48,7 +48,17 @@
     <string name="reader_setting_toolbar_visibility_annotation">Annotation toolbar</string>
     <string name="reader_setting_toolbar_visibility_bota">BOTA panel</string>
 
+    <string name="contextMenu_longPress_paste">Paste</string>
+    <string name="contextMenu_textbox_delete">Delete</string>
     <string name="contextMenu_textbox_style">Style</string>
+    <string name="contextMenu_textbox_edit">Edit</string>
+    <string name="contextMenu_textbox_copy">Copy</string>
+    <string name="contextMenu_signature_delete">Delete</string>
+    <string name="contextMenu_signature_add">Add</string>
+    <string name="contextMenu_stamp_delete">Delete</string>
+    <string name="contextMenu_stamp_ok">OK</string>
+    <string name="contextMenu_shape_delete">Delete</string>
+    <string name="contextMenu_shape_ok">OK</string>
 
     <!--MediaBox-->
     <string name="reader_mediaBox_textBox_title">Text Box Tool</string>