This commit is contained in:
kunfei
2023-02-20 20:53:04 +08:00
parent 14ed8928be
commit 3d77019c07
3 changed files with 16 additions and 11 deletions
@@ -2,8 +2,8 @@ package io.legado.app.ui.dict
import android.app.Application import android.app.Application
import io.legado.app.base.BaseViewModel import io.legado.app.base.BaseViewModel
import io.legado.app.data.appDb
import io.legado.app.data.entities.DictRule import io.legado.app.data.entities.DictRule
import io.legado.app.help.DefaultData
import io.legado.app.help.coroutine.Coroutine import io.legado.app.help.coroutine.Coroutine
class DictViewModel(application: Application) : BaseViewModel(application) { class DictViewModel(application: Application) : BaseViewModel(application) {
@@ -12,7 +12,7 @@ class DictViewModel(application: Application) : BaseViewModel(application) {
fun initData(onSuccess: (List<DictRule>) -> Unit) { fun initData(onSuccess: (List<DictRule>) -> Unit) {
execute { execute {
DefaultData.dictRules appDb.dictRuleDao.enabled
}.onSuccess { }.onSuccess {
onSuccess.invoke(it) onSuccess.invoke(it)
} }
@@ -15,8 +15,7 @@ import io.legado.app.data.appDb
import io.legado.app.data.entities.DictRule import io.legado.app.data.entities.DictRule
import io.legado.app.databinding.DialogDictRuleEditBinding import io.legado.app.databinding.DialogDictRuleEditBinding
import io.legado.app.lib.theme.primaryColor import io.legado.app.lib.theme.primaryColor
import io.legado.app.utils.applyTint import io.legado.app.utils.*
import io.legado.app.utils.setLayout
import io.legado.app.utils.viewbindingdelegate.viewBinding import io.legado.app.utils.viewbindingdelegate.viewBinding
class DictRuleEditDialog() : BaseDialogFragment(R.layout.dialog_dict_rule_edit, true), class DictRuleEditDialog() : BaseDialogFragment(R.layout.dialog_dict_rule_edit, true),
@@ -100,11 +99,22 @@ class DictRuleEditDialog() : BaseDialogFragment(R.layout.dialog_dict_rule_edit,
} }
fun copyRule(dictRule: DictRule) { fun copyRule(dictRule: DictRule) {
context.sendToClip(GSON.toJson(dictRule))
} }
fun pasteRule(success: (DictRule) -> Unit) { fun pasteRule(success: (DictRule) -> Unit) {
val text = context.getClipText()
if (text.isNullOrBlank()) {
context.toastOnUi("剪贴板没有内容")
return
}
execute {
GSON.fromJsonObject<DictRule>(text).getOrThrow()!!
}.onSuccess {
success.invoke(it)
}.onError {
context.toastOnUi("格式不对")
}
} }
} }
-5
View File
@@ -20,9 +20,4 @@
android:title="@string/paste_rule" android:title="@string/paste_rule"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/menu_help"
android:title="@string/help"
app:showAsAction="never" />
</menu> </menu>