|
|
|
@ -17,6 +17,7 @@ import io.legado.app.data.appDb |
|
|
|
|
import io.legado.app.data.entities.BookSource |
|
|
|
|
import io.legado.app.data.entities.rule.* |
|
|
|
|
import io.legado.app.databinding.ActivityBookSourceEditBinding |
|
|
|
|
import io.legado.app.databinding.DialogEditTextBinding |
|
|
|
|
import io.legado.app.help.config.LocalConfig |
|
|
|
|
import io.legado.app.lib.dialogs.SelectItem |
|
|
|
|
import io.legado.app.lib.dialogs.alert |
|
|
|
@ -140,6 +141,7 @@ class BookSourceEditActivity : |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
R.id.menu_set_source_variable -> setSourceVariable() |
|
|
|
|
} |
|
|
|
|
return super.onCompatOptionsItemSelected(item) |
|
|
|
|
} |
|
|
|
@ -171,7 +173,12 @@ class BookSourceEditActivity : |
|
|
|
|
|
|
|
|
|
override fun finish() { |
|
|
|
|
val source = getSource() |
|
|
|
|
if (!source.equal(viewModel.bookSource ?: BookSource())) { |
|
|
|
|
val source2 = viewModel.bookSource ?: BookSource().apply { |
|
|
|
|
enabledExplore = true |
|
|
|
|
enabledCookieJar = true |
|
|
|
|
enabledReview = true |
|
|
|
|
} |
|
|
|
|
if (!source.equal(source2)) { |
|
|
|
|
alert(R.string.exit) { |
|
|
|
|
setMessage(R.string.exit_no_save) |
|
|
|
|
positiveButton(R.string.yes) |
|
|
|
@ -569,4 +576,30 @@ class BookSourceEditActivity : |
|
|
|
|
showDialogFragment(TextDialog(mdText, TextDialog.Mode.MD)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun setSourceVariable() { |
|
|
|
|
launch { |
|
|
|
|
val source = viewModel.bookSource |
|
|
|
|
if (source == null) { |
|
|
|
|
toastOnUi("书源不存在") |
|
|
|
|
return@launch |
|
|
|
|
} |
|
|
|
|
val variable = withContext(IO) { source.getVariable() } |
|
|
|
|
alert(R.string.set_source_variable) { |
|
|
|
|
setMessage(source.getDisplayVariableComment("源变量可在js中通过source.getVariable()获取")) |
|
|
|
|
val alertBinding = DialogEditTextBinding.inflate(layoutInflater).apply { |
|
|
|
|
editView.hint = "source variable" |
|
|
|
|
editView.setText(variable) |
|
|
|
|
} |
|
|
|
|
customView { alertBinding.root } |
|
|
|
|
okButton { |
|
|
|
|
viewModel.bookSource?.setVariable(alertBinding.editView.text?.toString()) |
|
|
|
|
} |
|
|
|
|
cancelButton() |
|
|
|
|
neutralButton(R.string.delete) { |
|
|
|
|
viewModel.bookSource?.setVariable(null) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|