0
0
mirror of https://github.com/ankidroid/Anki-Android.git synced 2024-09-20 03:52:15 +02:00

Improve stylus related functions(menu, controls) (#13849)

This commit is contained in:
naong 2023-06-22 23:36:03 +09:00 committed by GitHub
parent 06b586607d
commit ed50e1acab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 47 additions and 19 deletions

View File

@ -1782,6 +1782,14 @@ abstract class AbstractFlashcardViewer :
toggleWhiteboard()
true
}
ViewerCommand.CLEAR_WHITEBOARD -> {
clearWhiteboard()
true
}
ViewerCommand.CHANGE_WHITEBOARD_PEN_COLOR -> {
changeWhiteboardPenColor()
true
}
ViewerCommand.SHOW_HINT -> {
loadUrlInViewer("javascript: showHint();")
true
@ -1814,6 +1822,14 @@ abstract class AbstractFlashcardViewer :
// intentionally blank
}
protected open fun clearWhiteboard() {
// intentionally blank
}
protected open fun changeWhiteboardPenColor() {
// intentionally blank
}
private fun abortAndSync() {
closeReviewer(RESULT_ABORT_AND_SYNC, true)
}

View File

@ -436,12 +436,7 @@ open class Reviewer :
}
R.id.action_change_whiteboard_pen_color -> {
Timber.i("Reviewer:: Pen Color button pressed")
if (mColorPalette.visibility == View.GONE) {
mColorPalette.visibility = View.VISIBLE
} else {
mColorPalette.visibility = View.GONE
}
updateWhiteboardEditorPosition()
changeWhiteboardPenColor()
}
R.id.action_save_whiteboard -> {
Timber.i("Reviewer:: Save whiteboard button pressed")
@ -457,9 +452,7 @@ open class Reviewer :
}
R.id.action_clear_whiteboard -> {
Timber.i("Reviewer:: Clear whiteboard button pressed")
if (whiteboard != null) {
whiteboard!!.clear()
}
clearWhiteboard()
}
R.id.action_hide_whiteboard -> { // toggle whiteboard visibility
Timber.i("Reviewer:: Whiteboard visibility set to %b", !mShowWhiteboard)
@ -548,6 +541,21 @@ open class Reviewer :
refreshActionBar()
}
public override fun clearWhiteboard() {
if (whiteboard != null) {
whiteboard!!.clear()
}
}
public override fun changeWhiteboardPenColor() {
if (mColorPalette.visibility == View.GONE) {
mColorPalette.visibility = View.VISIBLE
} else {
mColorPalette.visibility = View.GONE
}
updateWhiteboardEditorPosition()
}
override fun replayVoice() {
if (!openMicToolbar()) {
return

View File

@ -67,6 +67,8 @@ enum class ViewerCommand(val resourceId: Int) {
RECORD_VOICE(R.string.record_voice),
REPLAY_VOICE(R.string.replay_voice),
TOGGLE_WHITEBOARD(R.string.gesture_toggle_whiteboard),
CLEAR_WHITEBOARD(R.string.clear_whiteboard),
CHANGE_WHITEBOARD_PEN_COLOR(R.string.title_whiteboard_editor),
SHOW_HINT(R.string.gesture_show_hint),
SHOW_ALL_HINTS(R.string.gesture_show_all_hints),
ADD_NOTE(R.string.menu_add_note);

View File

@ -267,6 +267,8 @@ object PreferenceUpgradeService {
Pair(35, ViewerCommand.RECORD_VOICE),
Pair(36, ViewerCommand.REPLAY_VOICE),
Pair(37, ViewerCommand.TOGGLE_WHITEBOARD),
Pair(44, ViewerCommand.CLEAR_WHITEBOARD),
Pair(45, ViewerCommand.CHANGE_WHITEBOARD_PEN_COLOR),
Pair(41, ViewerCommand.SHOW_HINT),
Pair(42, ViewerCommand.SHOW_ALL_HINTS),
Pair(43, ViewerCommand.ADD_NOTE)

View File

@ -27,6 +27,12 @@
android:title="@string/title_whiteboard_editor"
android:visible="false"
ankidroid:showAsAction="ifRoom"/>
<item
android:id="@+id/action_toggle_stylus"
android:title="@string/enable_stylus"
android:icon="@drawable/ic_gesture_stylus"
android:visible="false"
ankidroid:showAsAction="ifRoom"/>
<item
android:id="@+id/action_save_whiteboard"
android:title="@string/save_whiteboard"
@ -38,12 +44,6 @@
android:title="@string/enable_whiteboard"
android:icon="@drawable/ic_gesture_white"
ankidroid:showAsAction="never"/>
<item
android:id="@+id/action_toggle_stylus"
android:title="@string/enable_stylus"
android:icon="@drawable/ic_gesture_stylus"
android:visible="false"
ankidroid:showAsAction="ifRoom"/>
<item
android:id="@+id/action_flag"
android:title="@string/menu_flag_card"

View File

@ -38,8 +38,8 @@
<!-- Reviewer.kt -->
<string name="save_whiteboard">Save whiteboard</string>
<string name="enable_stylus">Enable stylus mode</string>
<string name="disable_stylus">Disable stylus mode</string>
<string name="enable_stylus">Enable stylus writing</string>
<string name="disable_stylus">Disable stylus writing</string>
<string name="enable_whiteboard">Enable whiteboard</string>
<string name="disable_whiteboard">Disable whiteboard</string>
<string name="show_whiteboard">Show whiteboard</string>

View File

@ -39,8 +39,8 @@ class ViewerCommandTest {
"binding_TOGGLE_FLAG_ORANGE, binding_TOGGLE_FLAG_GREEN, binding_TOGGLE_FLAG_BLUE, " +
"binding_TOGGLE_FLAG_PINK, binding_TOGGLE_FLAG_TURQUOISE, binding_TOGGLE_FLAG_PURPLE, " +
"binding_UNSET_FLAG, binding_PAGE_UP, binding_PAGE_DOWN, binding_TAG, binding_CARD_INFO, binding_ABORT_AND_SYNC, " +
"binding_RECORD_VOICE, binding_REPLAY_VOICE, binding_TOGGLE_WHITEBOARD, binding_SHOW_HINT, " +
"binding_SHOW_ALL_HINTS, binding_ADD_NOTE",
"binding_RECORD_VOICE, binding_REPLAY_VOICE, binding_TOGGLE_WHITEBOARD, binding_CLEAR_WHITEBOARD, " +
"binding_CHANGE_WHITEBOARD_PEN_COLOR, binding_SHOW_HINT, binding_SHOW_ALL_HINTS, binding_ADD_NOTE",
names
)
}