Просмотр исходного кода

书籍目录页面,增加字段统计开关,默认开启 (#4470)

niuhb 1 год назад
Родитель
Сommit
f8181dcafb

+ 1 - 0
app/src/main/java/io/legado/app/constant/PreferKey.kt

@@ -107,6 +107,7 @@ object PreferKey {
     const val checkSource = "checkSource"
     const val checkSource = "checkSource"
     const val uploadRule = "uploadRule"
     const val uploadRule = "uploadRule"
     const val tocUiUseReplace = "tocUiUseReplace"
     const val tocUiUseReplace = "tocUiUseReplace"
+    const val tocCountWords = "tocCountWords"
     const val enableReadRecord = "enableReadRecord"
     const val enableReadRecord = "enableReadRecord"
     const val localBookImportSort = "localBookImportSort"
     const val localBookImportSort = "localBookImportSort"
     const val customWelcome = "customWelcome"
     const val customWelcome = "customWelcome"

+ 6 - 0
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -381,6 +381,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
             appCtx.putPrefBoolean(PreferKey.tocUiUseReplace, value)
             appCtx.putPrefBoolean(PreferKey.tocUiUseReplace, value)
         }
         }
 
 
+    var tocCountWords: Boolean
+        get() = appCtx.getPrefBoolean(PreferKey.tocCountWords, true)
+        set(value) {
+            appCtx.putPrefBoolean(PreferKey.tocCountWords, value)
+        }
+
     var enableReadRecord: Boolean
     var enableReadRecord: Boolean
         get() = appCtx.getPrefBoolean(PreferKey.enableReadRecord, true)
         get() = appCtx.getPrefBoolean(PreferKey.enableReadRecord, true)
         set(value) {
         set(value) {

+ 1 - 1
app/src/main/java/io/legado/app/ui/book/toc/ChapterListAdapter.kt

@@ -150,7 +150,7 @@ class ChapterListAdapter(context: Context, val callback: Callback) :
                 } else {
                 } else {
                     tvTag.gone()
                     tvTag.gone()
                 }
                 }
-                if (!item.wordCount.isNullOrEmpty() && !item.isVolume) {
+                if (AppConfig.tocCountWords && !item.wordCount.isNullOrEmpty() && !item.isVolume) {
                     //章节字数
                     //章节字数
                     tvWordCount.text = item.wordCount
                     tvWordCount.text = item.wordCount
                     tvWordCount.visible()
                     tvWordCount.visible()

+ 6 - 0
app/src/main/java/io/legado/app/ui/book/toc/TocActivity.kt

@@ -132,6 +132,8 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
         }
         }
         menu.findItem(R.id.menu_use_replace)?.isChecked =
         menu.findItem(R.id.menu_use_replace)?.isChecked =
             AppConfig.tocUiUseReplace
             AppConfig.tocUiUseReplace
+        menu.findItem(R.id.menu_load_word_count)?.isChecked =
+            AppConfig.tocCountWords
         menu.findItem(R.id.menu_split_long_chapter)?.isChecked =
         menu.findItem(R.id.menu_split_long_chapter)?.isChecked =
             viewModel.bookData.value?.getSplitLongChapter() == true
             viewModel.bookData.value?.getSplitLongChapter() == true
         return super.onMenuOpened(featureId, menu)
         return super.onMenuOpened(featureId, menu)
@@ -165,6 +167,10 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
                 viewModel.chapterListCallBack?.upChapterList(searchView?.query?.toString())
                 viewModel.chapterListCallBack?.upChapterList(searchView?.query?.toString())
             }
             }
 
 
+            R.id.menu_load_word_count -> {
+                AppConfig.tocCountWords = !item.isChecked
+            }
+
             R.id.menu_export_bookmark -> exportDir.launch {
             R.id.menu_export_bookmark -> exportDir.launch {
                 requestCode = 1
                 requestCode = 1
             }
             }

+ 6 - 0
app/src/main/res/menu/book_toc.xml

@@ -42,6 +42,12 @@
             android:title="@string/use_replace"
             android:title="@string/use_replace"
             app:showAsAction="never" />
             app:showAsAction="never" />
 
 
+        <item
+            android:id="@+id/menu_load_word_count"
+            android:checkable="true"
+            android:title="@string/load_word_count"
+            app:showAsAction="never" />
+
     </group>
     </group>
 
 
     <group
     <group