diff --git a/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderControls.kt b/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderControls.kt index 3bb0ae3..85699b6 100644 --- a/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderControls.kt +++ b/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderControls.kt @@ -275,39 +275,40 @@ internal fun epubOverflowMenuSections( hasDeleteReflow: Boolean, hasFileInfo: Boolean = true ): List = buildList { - add(EpubOverflowMenuSection.CUSTOMIZE_TOOLBAR) - if (hasHiddenToolbarTools) add(EpubOverflowMenuSection.HIDDEN_TOOLS) if (hasToggleReflow) add(EpubOverflowMenuSection.VIEW_ORIGINAL_PDF) if (hasDeleteReflow) add(EpubOverflowMenuSection.DELETE_TEXT_VIEW) if (!hiddenTools.contains(ReaderTool.READING_MODE.name)) add(EpubOverflowMenuSection.READING_MODE) if (!hiddenTools.contains(ReaderTool.BOOKMARK.name)) add(EpubOverflowMenuSection.BOOKMARK) - if (!hiddenTools.contains(ReaderTool.TAP_TO_TURN.name)) add(EpubOverflowMenuSection.TAP_TO_TURN) - if (!hiddenTools.contains(ReaderTool.VOLUME_SCROLL.name)) add(EpubOverflowMenuSection.VOLUME_SCROLL) - if (!hiddenTools.contains(ReaderTool.PAGE_TURN_ANIM.name)) add(EpubOverflowMenuSection.PAGE_TURN_ANIM) - if (!hiddenTools.contains(ReaderTool.KEEP_SCREEN_ON.name)) add(EpubOverflowMenuSection.KEEP_SCREEN_ON) - if (!hiddenTools.contains(ReaderTool.VISUAL_OPTIONS.name)) add(EpubOverflowMenuSection.VISUAL_OPTIONS) - if (!hiddenTools.contains(ReaderTool.AUTO_SCROLL.name)) add(EpubOverflowMenuSection.AUTO_SCROLL) - if (!hiddenTools.contains(ReaderTool.BOOK_REPLACEMENTS.name)) add(EpubOverflowMenuSection.BOOK_REPLACEMENTS) - if ( - !hiddenTools.contains(ReaderTool.TTS_SETTINGS.name) || - !hiddenTools.contains(ReaderTool.TTS_REPLACEMENTS.name) - ) { - add(EpubOverflowMenuSection.TTS_SETTINGS) - } - if (hasFileInfo && !hiddenTools.contains(ReaderTool.FILE_INFO.name)) { - add(EpubOverflowMenuSection.FILE_INFO) - } } internal fun defaultReaderHiddenTools(): Set = setOf( ReaderTool.SCREEN_ORIENTATION.name, - ReaderTool.BRIGHTNESS.name + ReaderTool.BRIGHTNESS.name, + ReaderTool.DICTIONARY.name, + ReaderTool.FORMAT.name, + ReaderTool.SEARCH.name, + ReaderTool.AI_FEATURES.name, + ReaderTool.TTS_CONTROLS.name, + ReaderTool.FILE_INFO.name, + ReaderTool.TAP_TO_TURN.name, + ReaderTool.VOLUME_SCROLL.name, + ReaderTool.PAGE_TURN_ANIM.name, + ReaderTool.KEEP_SCREEN_ON.name, + ReaderTool.VISUAL_OPTIONS.name, + ReaderTool.AUTO_SCROLL.name, + ReaderTool.TTS_SETTINGS.name, + ReaderTool.TTS_REPLACEMENTS.name, + ReaderTool.BOOK_REPLACEMENTS.name, ) -internal fun defaultReaderToolOrder(): List = ReaderTool.entries.toList() +internal fun defaultReaderToolOrder(): List = listOf( + ReaderTool.THEME, + ReaderTool.TOC, + ReaderTool.SLIDER, +) internal fun defaultReaderBottomTools(): Set { - return ReaderTool.entries.filter { it.category == "Bottom Bar" }.map { it.name }.toSet() + return setOf(ReaderTool.SLIDER.name, ReaderTool.TOC.name) } internal fun buildReaderToolbarItems( diff --git a/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderScreen.kt b/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderScreen.kt index 5bab49c..bf1f35b 100644 --- a/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderScreen.kt +++ b/app/src/main/java/com/dueattendant149/bookreader/reader/epubreader/EpubReaderScreen.kt @@ -380,6 +380,14 @@ private fun loadHiddenTools(context: Context): Set { return minimalHidden } + // If saved tools don't include the new defaults, merge them in + val allShouldBeHidden = defaultReaderHiddenTools() + val merged = savedHiddenTools + allShouldBeHidden + if (merged != savedHiddenTools) { + prefs.edit { putStringSet(HIDDEN_TOOLS_KEY, merged) } + return merged + } + return savedHiddenTools }