|
|
@@ -121,7 +121,6 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
val searchResult = IntentData.get<SearchResult>("searchResult$key")
|
|
|
val searchResultList = IntentData.get<List<SearchResult>>("searchResultList$key")
|
|
|
if (searchResult != null && searchResultList != null) {
|
|
|
- ContentProcessor.enableRemoveSameTitle = false
|
|
|
viewModel.searchContentQuery = searchResult.query
|
|
|
binding.searchMenu.upSearchResultList(searchResultList)
|
|
|
isShowingSearchResult = true
|
|
|
@@ -294,6 +293,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
item.isVisible = BuildConfig.DEBUG
|
|
|
item.isChecked = AppConfig.enableReview
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_reverse_content -> item.isVisible = onLine
|
|
|
}
|
|
|
}
|
|
|
@@ -318,6 +318,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
showDialogFragment(ChangeBookSourceDialog(it.name, it.author))
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_chapter_change_source -> launch {
|
|
|
val book = ReadBook.book ?: return@launch
|
|
|
val chapter =
|
|
|
@@ -328,6 +329,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
ChangeChapterSourceDialog(book.name, book.author, chapter.index, chapter.title)
|
|
|
)
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_refresh,
|
|
|
R.id.menu_refresh_dur -> {
|
|
|
if (ReadBook.bookSource == null) {
|
|
|
@@ -340,6 +342,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_refresh_after -> {
|
|
|
if (ReadBook.bookSource == null) {
|
|
|
upContent()
|
|
|
@@ -351,6 +354,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_refresh_all -> {
|
|
|
if (ReadBook.bookSource == null) {
|
|
|
upContent()
|
|
|
@@ -362,6 +366,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_download -> showDownloadDialog()
|
|
|
R.id.menu_add_bookmark -> addBookmark()
|
|
|
R.id.menu_edit_content -> showDialogFragment(ContentEditDialog())
|
|
|
@@ -371,28 +376,34 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
}
|
|
|
loadChapterList(it)
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_enable_replace -> changeReplaceRuleState()
|
|
|
R.id.menu_re_segment -> ReadBook.book?.let {
|
|
|
it.setReSegment(!it.getReSegment())
|
|
|
menu?.findItem(R.id.menu_re_segment)?.isChecked = it.getReSegment()
|
|
|
ReadBook.loadContent(false)
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_enable_review -> {
|
|
|
AppConfig.enableReview = !AppConfig.enableReview
|
|
|
menu?.findItem(R.id.menu_enable_review)?.isChecked = AppConfig.enableReview
|
|
|
ReadBook.loadContent(false)
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_page_anim -> showPageAnimConfig {
|
|
|
binding.readView.upPageAnim()
|
|
|
ReadBook.loadContent(false)
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_log -> showDialogFragment<AppLogDialog>()
|
|
|
R.id.menu_toc_regex -> showDialogFragment(
|
|
|
TxtTocRuleDialog(ReadBook.book?.tocUrl)
|
|
|
)
|
|
|
+
|
|
|
R.id.menu_reverse_content -> ReadBook.book?.let {
|
|
|
viewModel.reverseContent(it)
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_set_charset -> showCharsetConfig()
|
|
|
R.id.menu_image_style -> {
|
|
|
val imgStyles =
|
|
|
@@ -405,12 +416,29 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
ReadBook.loadContent(false)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_get_progress -> ReadBook.book?.let {
|
|
|
viewModel.syncBookProgress(it) { progress ->
|
|
|
sureSyncProgress(progress)
|
|
|
}
|
|
|
}
|
|
|
- R.id.menu_same_title_removed -> viewModel.reverseRemoveSameTitle()
|
|
|
+
|
|
|
+ R.id.menu_same_title_removed -> {
|
|
|
+ ReadBook.book?.let {
|
|
|
+ val contentProcessor = ContentProcessor.get(it)
|
|
|
+ val textChapter = ReadBook.curTextChapter
|
|
|
+ if (textChapter != null
|
|
|
+ && !textChapter.sameTitleRemoved
|
|
|
+ && !contentProcessor.removeSameTitleCache.contains(
|
|
|
+ textChapter.chapter.getFileName("nr")
|
|
|
+ )
|
|
|
+ ) {
|
|
|
+ toastOnUi("未找到可移除的重复标题")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ viewModel.reverseRemoveSameTitle()
|
|
|
+ }
|
|
|
+
|
|
|
R.id.menu_help -> showReadMenuHelp()
|
|
|
}
|
|
|
return super.onCompatOptionsItemSelected(item)
|
|
|
@@ -477,34 +505,41 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
return true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
isNextKey(keyCode) -> {
|
|
|
if (keyCode != KeyEvent.KEYCODE_UNKNOWN) {
|
|
|
binding.readView.pageDelegate?.keyTurnPage(PageDirection.NEXT)
|
|
|
return true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
keyCode == KeyEvent.KEYCODE_VOLUME_UP -> {
|
|
|
if (volumeKeyPage(PageDirection.PREV)) {
|
|
|
return true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
keyCode == KeyEvent.KEYCODE_VOLUME_DOWN -> {
|
|
|
if (volumeKeyPage(PageDirection.NEXT)) {
|
|
|
return true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
keyCode == KeyEvent.KEYCODE_PAGE_UP -> {
|
|
|
binding.readView.pageDelegate?.keyTurnPage(PageDirection.PREV)
|
|
|
return true
|
|
|
}
|
|
|
+
|
|
|
keyCode == KeyEvent.KEYCODE_PAGE_DOWN -> {
|
|
|
binding.readView.pageDelegate?.keyTurnPage(PageDirection.NEXT)
|
|
|
return true
|
|
|
}
|
|
|
+
|
|
|
keyCode == KeyEvent.KEYCODE_SPACE -> {
|
|
|
binding.readView.pageDelegate?.keyTurnPage(PageDirection.NEXT)
|
|
|
return true
|
|
|
}
|
|
|
+
|
|
|
keyCode == KeyEvent.KEYCODE_BACK -> {
|
|
|
if (isShowingSearchResult) {
|
|
|
exitSearchMenu()
|
|
|
@@ -544,6 +579,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
return true
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
KeyEvent.KEYCODE_BACK -> {
|
|
|
event?.let {
|
|
|
if ((event.flags and KeyEvent.FLAG_CANCELED_LONG_PRESS == 0)
|
|
|
@@ -585,12 +621,14 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
event.rawX + cursorLeft.width,
|
|
|
event.rawY - cursorLeft.height
|
|
|
)
|
|
|
+
|
|
|
R.id.cursor_right -> readView.curPage.selectEndMove(
|
|
|
event.rawX - cursorRight.width,
|
|
|
event.rawY - cursorRight.height
|
|
|
)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
MotionEvent.ACTION_UP -> showTextActionMenu()
|
|
|
}
|
|
|
return true
|
|
|
@@ -657,6 +695,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
1 -> binding.readView.aloudStartSelect()
|
|
|
else -> speak(binding.readView.getSelectText())
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_bookmark -> binding.readView.curPage.let {
|
|
|
val bookmark = it.createBookmark()
|
|
|
if (bookmark == null) {
|
|
|
@@ -666,6 +705,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
}
|
|
|
return true
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_replace -> {
|
|
|
val scopes = arrayListOf<String>()
|
|
|
ReadBook.book?.name?.let {
|
|
|
@@ -683,11 +723,13 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
)
|
|
|
return true
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_search_content -> {
|
|
|
viewModel.searchContentQuery = selectedText
|
|
|
openSearchActivity(selectedText)
|
|
|
return true
|
|
|
}
|
|
|
+
|
|
|
R.id.menu_dict -> {
|
|
|
showDialogFragment(DictDialog(selectedText))
|
|
|
return true
|
|
|
@@ -1010,7 +1052,6 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
override fun exitSearchMenu() {
|
|
|
if (isShowingSearchResult) {
|
|
|
isShowingSearchResult = false
|
|
|
- ContentProcessor.enableRemoveSameTitle = true
|
|
|
binding.searchMenu.invalidate()
|
|
|
binding.searchMenu.invisible()
|
|
|
binding.readView.isTextSelected = false
|
|
|
@@ -1110,6 +1151,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
ReadAloud.upReadAloudClass()
|
|
|
ReadBook.readAloud()
|
|
|
}
|
|
|
+
|
|
|
BaseReadAloudService.pause -> ReadAloud.resume(this)
|
|
|
else -> ReadAloud.pause(this)
|
|
|
}
|
|
|
@@ -1142,6 +1184,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
viewModel.saveImage(src, Uri.parse(path))
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
"selectFolder" -> selectImageDir.launch()
|
|
|
}
|
|
|
popupAction.dismiss()
|
|
|
@@ -1164,15 +1207,18 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
setCurTextColor(color)
|
|
|
postEvent(EventBus.UP_CONFIG, false)
|
|
|
}
|
|
|
+
|
|
|
BG_COLOR -> {
|
|
|
setCurBg(0, "#${color.hexString}")
|
|
|
postEvent(EventBus.UP_CONFIG, false)
|
|
|
}
|
|
|
+
|
|
|
TIP_COLOR -> {
|
|
|
ReadTipConfig.tipColor = color
|
|
|
postEvent(EventBus.TIP_COLOR, "")
|
|
|
postEvent(EventBus.UP_CONFIG, true)
|
|
|
}
|
|
|
+
|
|
|
TIP_DIVIDER_COLOR -> {
|
|
|
ReadTipConfig.tipDividerColor = color
|
|
|
postEvent(EventBus.TIP_COLOR, "")
|
|
|
@@ -1233,6 +1279,7 @@ class ReadBookActivity : BaseReadBookActivity(),
|
|
|
lineIndex,
|
|
|
charIndex + viewModel.searchContentQuery.length - 1
|
|
|
)
|
|
|
+
|
|
|
1 -> binding.readView.curPage.selectEndMoveIndex(
|
|
|
0, lineIndex + 1, charIndex2
|
|
|
)
|